struts标签<s:property>和<s:iterator>
1.
<body> <s:property value="#request.other"/>
迭代List或数组 <ol> <s:iterator value="#request.booklist" var="book"> <li><s:property value="book"/></li> </s:iterator> </ol> </body>
必须用<s:property>才能输出值栈中的值,<s:iterator>可以替代JSTL中的<c:forEach>标签
<ol> <c:forEach var="book" items="${booklist}"> <li>${book }</li> </c:forEach> </ol>
<s:property value="Action属性名">还可以输出Action的属性值(Action必须通过转发的方式到该jsp页面才可)
2.如果迭代的对象是Bean的数组或List,两种方法:
<ol> <s:iterator value="booklist" > <li><s:property value="bookname"/> <s:property value="price"/> </li> </s:iterator> </ol> <ol> <s:iterator value="#request.booklist" var="book"> <li><s:property value="#book.bookname"/> <s:property value="#book.price"/> </li> </s:iterator> </ol>
注意前提是Action以请求转发的方式转到jsp页面
3.迭代的对象是Map<String>
<ol> <s:iterator value="amap" var="e"> <li><s:property value="#e.key"/> <s:property value="#e.value"/> </li> </s:iterator> </ol>
4.迭代的对象是Map<[JavaBean对象]>
<s:property value="#e.value.属性值"/>
5.隔行换色等效果
<s:iterator status="status"> <s:if test="#status.odd"></s:if> <s:else></s:else> </s:iterator>
6.带条件迭代
<ol> <s:iterator value="booklist.{?#this.price>50}" > <li><s:property value="name"/> <s:property value="price"/> </li> </s:iterator> </ol>
7.迭代JavaBean的某一个属性
<ol> <s:iterator value="booklist.{price}" > <li><s:property /> </li> </s:iterator> </ol>