1、代码法
- <%
- ValueStack valueStack = (ValueStack)request.getAttribute("struts.valueStack");
- String[] books = (String[])valueStack.findValue("books");
- for(String book : books){
- %>
- <tr>
- <td>BookName:</td>
- <td><%=book%></td>
- </tr>
- <%
- }
- %>
示例——actioin
- public class GetBooksAction implements Action{
- private String[] books;
- public String[] getBooks() {
- return books;
- }
- public void setBooks(String[] books) {
- this.books = books;
- }
- public String execute() throws Exception{
- String user = (String)ActionContext.getContext().getSession().get("user");
- if( user != null && user.equals("gqltt") ){
- BookService bookService = new BookService();
- setBooks(bookService.getBooks());
- return SUCCESS;
- }
- return LOGIN;
- }
- }
示例——jsp
- <body>
- <table>
- <caption>Show Books</caption>
- <%
- ValueStack valueStack = (ValueStack)request.getAttribute("struts.valueStack");
- String[] books = (String[])valueStack.findValue("books");
- for(String book : books){
- %>
- <tr>
- <td>BookName:</td>
- <td><%=book%></td>
- </tr>
- <%
- }
- %>
- </table>
- </body>
注意加入:<%@ page import="com.opensymphony.xwork2.util.*" %>
2、标签法
- <s:iterator value="books" status="st">
- <s:if test="#st.odd == true">
- <tr style="background-color:#cccccc">
- </s:if>
- <s:else>
- <tr>
- </s:else>
- <td><s:property/></td>
- </tr>
- </s:iterator>
- <s:iterator value="listDouble" status="st">
- <s:property value="#st.index + 4"/>
- <s:property/><br/>
- </s:iterator>