วิธีวนซ้ำรายการอาร์เรย์ของ bean ใน JSP โดยใช้แท็ก struts2

JSP ของฉันได้รับ ArrayList bean จากการดำเนินการ Struts2

ฉันต้องการทำซ้ำและพิมพ์ทุก bean และคุณสมบัติของมันต่อบรรทัด

ฉันจะทำสิ่งนี้โดยใช้แท็ก Struts2 ได้อย่างไร


person Anand    schedule 21.02.2010    source แหล่งที่มา


คำตอบ (5)


ใช้แท็ก <s:iterator>

<s:iterator value="beans">
     <p>Property foo: <s:property name="foo" /></p>
     <p>Property bar: <s:property name="bar" /></p>
</s:iterator>

ภาพรวมของแท็กทั้งหมดสามารถพบได้ในเอกสารของตนเอง: การอ้างอิงแท็ก. บุ๊กมาร์กไว้

person BalusC    schedule 21.02.2010
comment
จะเกิดอะไรขึ้นถ้าแต่ละองค์ประกอบของ arraylist เป็นวัตถุที่มีค่าที่ฉันต้องการใช้? - person Shashank; 31.07.2015

การใช้ JSTL:

<c:forEach items="${list}" var="item">
    <c:out value="${item.property}" />
</c:forEach>

คุณจะต้องเพิ่ม JSTL ให้กับ classpath เนื่องจากไม่ได้จัดส่งมาพร้อมกับ Struts แต่ควรจะใช้งานได้ แน่นอนว่าการใช้แท็กของสตรัท (ดังแสดงโดย BalusC) เป็นตัวเลือกที่ดีกว่า

person Bozho    schedule 21.02.2010
comment
@lakshmanan ฉันไม่คิดว่าจะมีปัญหาในการใช้ JSTL กับ struts2 - person Bozho; 21.02.2010

หากต้องการทำสิ่งนี้กับ struts2 คุณต้องมีตัววนซ้ำ:

<s:iterator value="collection">
Describe object
</s:iterator>

แต่ฉันแนะนำให้ใช้ displaytag: http://www.displaytag.org/1.2/ มีเพียง 1 แถวนี้อธิบาย bean ทั้งหมด และคุณสามารถเรียงลำดับและส่งออกได้ด้วย นี่คือตัวอย่างการใช้งาน:

<display:table name="collection" />

และมันสร้างโต๊ะ ตัวเฮด และตัวตัว

person Nicola Baldissin    schedule 30.08.2012

ที่นี่เป็นตัวอย่างการทำงาน (โครงการ Netbeans 6.9) ที่แสดงวิธีการวนซ้ำ อาร์เรย์หรือรายการของวัตถุ

นอกจากนี้ วิธีการส่งแบบฟอร์มเพื่อให้รายการวัตถุถูกสร้างขึ้นใหม่เมื่อส่ง

เพียงแก้ไขข้อมูลอ้างอิงแล้วไปต่อ

person coding_idiot    schedule 03.02.2011

ฉันทำสิ่งที่คล้ายกันในแอปพลิเคชันพื้นฐานของฉัน

ในที่นี้ 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>
person Rohan    schedule 15.04.2013