JSP ของฉันได้รับ ArrayList
bean จากการดำเนินการ Struts2
ฉันต้องการทำซ้ำและพิมพ์ทุก bean และคุณสมบัติของมันต่อบรรทัด
ฉันจะทำสิ่งนี้โดยใช้แท็ก Struts2 ได้อย่างไร
JSP ของฉันได้รับ ArrayList
bean จากการดำเนินการ Struts2
ฉันต้องการทำซ้ำและพิมพ์ทุก bean และคุณสมบัติของมันต่อบรรทัด
ฉันจะทำสิ่งนี้โดยใช้แท็ก Struts2 ได้อย่างไร
ใช้แท็ก <s:iterator>
<s:iterator value="beans">
<p>Property foo: <s:property name="foo" /></p>
<p>Property bar: <s:property name="bar" /></p>
</s:iterator>
ภาพรวมของแท็กทั้งหมดสามารถพบได้ในเอกสารของตนเอง: การอ้างอิงแท็ก ก>. บุ๊กมาร์กไว้
การใช้ JSTL:
<c:forEach items="${list}" var="item">
<c:out value="${item.property}" />
</c:forEach>
คุณจะต้องเพิ่ม JSTL ให้กับ classpath เนื่องจากไม่ได้จัดส่งมาพร้อมกับ Struts แต่ควรจะใช้งานได้ แน่นอนว่าการใช้แท็กของสตรัท (ดังแสดงโดย BalusC) เป็นตัวเลือกที่ดีกว่า
หากต้องการทำสิ่งนี้กับ struts2 คุณต้องมีตัววนซ้ำ:
<s:iterator value="collection">
Describe object
</s:iterator>
แต่ฉันแนะนำให้ใช้ displaytag: http://www.displaytag.org/1.2/ มีเพียง 1 แถวนี้อธิบาย bean ทั้งหมด และคุณสามารถเรียงลำดับและส่งออกได้ด้วย นี่คือตัวอย่างการใช้งาน:
<display:table name="collection" />
และมันสร้างโต๊ะ ตัวเฮด และตัวตัว
ที่นี่เป็นตัวอย่างการทำงาน (โครงการ Netbeans 6.9) ที่แสดงวิธีการวนซ้ำ อาร์เรย์หรือรายการของวัตถุ
นอกจากนี้ วิธีการส่งแบบฟอร์มเพื่อให้รายการวัตถุถูกสร้างขึ้นใหม่เมื่อส่ง
เพียงแก้ไขข้อมูลอ้างอิงแล้วไปต่อ
ฉันทำสิ่งที่คล้ายกันในแอปพลิเคชันพื้นฐานของฉัน
ในที่นี้ searchForm คือ bean และ ArrayList คือผลลัพธ์
<logic:present name="searchForm" property="results">
<bean:size id="size" name="searchForm" property="results"/>
<logic:greaterThan name="size" value="0">
<logic:iterate id="res" name="searchForm" property="results">
<p>
<bean:write name="res" property="firstname" />
<bean:write name="res" property="lastname" />
</p>
</logic:iterate>
</logic:greaterThan>
</logic:present>