jspページactionプロパティの取得方法
2196 ワード
1、コード法
例:actioin
例:jsp
注意:<%@page import="com.opensymphony.xwork 2.util.*"%>2、ラベル法
深く操作し、indexプロパティに固定値を追加します.
<%
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>
<%
}
%>
このように美しくないが、後でHTコンポーネントをオブジェクト化して操作し、使用できる.例: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.xwork 2.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>
statusプロパティの深く操作し、indexプロパティに固定値を追加します.
<s:iterator value="listDouble" status="st">
<s:property value="#st.index + 4"/>
<s:property/><br/>
</s:iterator>