記一個使用iterator标簽的例子
java代碼:
package demo.tagdemo;
import com.opensymphony.xwork.Action;
import java.util.List;
import java.util.ArrayList;
public class TagDemoAction implements Action {
//跟需要在頁面輸入的資訊相對應
private User user= new User();
private String name1;
private int int1;
private float float1;
private double double1;
private String []strs;
public User getUser(){
return this.user;
}
public String execute(){
System.out.println("Start execute 。。。。。。。。。。。。。");
System.out.println("User="+user);
//在這裡調用使用者注冊的業務邏輯,比如:将注冊資訊存儲到資料庫
System.out.println("Name1="+name1);
System.out.println("Int1="+int1);
return SUCCESS;
}
public String[] getProperties() {
String []back=new String[]{"1","2","3","4","5","6"};
return back;
}
public String getName1() {
return name1;
}
public void setName1(String string) {
name1 = string;
}
public int getInt1() {
return int1;
}
public void setInt1(int i) {
int1 = i;
}
public double getDouble1() {
return double1;
}
public float getFloat1() {
return float1;
}
public String[] getStrs() {
String []back=new String[]{"11","22","33","44","55","66"};
return back;
}
public List getList() {
List back=new ArrayList();
back.add("test1");
back.add("test21");
return back;
}
public List getUserList() {
List back=new ArrayList();
for(int i=0;i<5;i++){
User tmp=new User();
tmp.setUsername("UserName"+i);
back.add(tmp);
}
return back;
}
public void setDouble1(double d) {
double1 = d;
}
public void setFloat1(float f) {
float1 = f;
}
public void setStrs(String[] strings) {
strs = strings;
}
}
input.jsp
java代碼:
<%@ page language="java" pageEncoding="GBK" %>
<html>
<head><title>Register Example</title></head>
<body>
<table border=0 width=97%>
<tr><td align="left">
<form name="register" action="tagdemo.action" method="post">
Username:<input type="text" name="user.username"><br>
Password:<input type="text" name="user.password"><br>
Email:<input type="text" name="user.email"><br>
Age:<input type="text" name="user.age"><br>
Name1:<input type="text" name="name1"><br>
Int1:<input type="text" name="int1"><br>
Float1:<input type="text" name="float1"><br>
Double1:<input type="text" name="double1"><br>
<input type="submit" name="Submit"><br>
</form>
</td></tr>
</table>
</body>
</html>
show.jsp
java代碼:
<%@ page language="java" pageEncoding="GBK" %>
<%@ taglib prefix="ww" uri="/WEB-INF/taglib/webwork.tld" %>
<html>
<head>
<title>First WebWork Example---tag-iterator</title>
</head>
<body>
<p>
TagDemoAction.java
<hr>
<ww:iterator value="properties" status="index">
<ww:property />
count =
<ww:property value="#index.count"/>
isfirst =
<ww:property value="#index.first"/>
islast =
<ww:property value="#index.last"/>
index =
<ww:property value="#index.index"/>
iseven =
<ww:property value="#index.even"/>
isodd =
<ww:property value="#index.odd"/>
modulus=
<ww:property value="#index.modulus"/>
<ww:if test="#index.modulus(2) == 0">兩個了<br /> </ww:if>
<br />
<p>
</ww:iterator>
<hr>
strs:<br>
<ww:iterator value="strs" status="index">
<ww:property />
<ww:if test="#index.modulus(2) == 0">兩個了<br /> </ww:if>
<br />
</ww:iterator>
<hr>
list:<br>
<ww:iterator value="list" status="index">
<ww:property />
<ww:if test="#index.modulus(2) == 0">兩個了<br /> </ww:if>
<br />
</ww:iterator>
<hr>
UserList:<br>
<ww:iterator value="userList" status="index">
username[<ww:property value="#index.count"/>]:<ww:property value="username"/> ___
<ww:property />
<ww:if test="#index.modulus(2) == 0">兩個了<br /> </ww:if>
<br />
</ww:iterator>
常量顯示(不用import):
TEST =
<ww:property value="@[email protected]"/>
<hr>
if。。。else。。。<br>
<ww:if test="true == false">
<b>if: Failures</b>
</ww:if>
<ww:elseIf test="true == false">
<b>elseIf: Failure</b>
</ww:elseIf>
<ww:elseIf test="true == true">
<b>elseIf: Success</b>
</ww:elseIf>
<hr>
<ww:if test="1<0">
<b>1<0</b>
</ww:if>
<ww:else>
<b>else: 1>=0</b>
</ww:else>
<hr>
<br>
username:<ww:property value="user.username"/>
,password:<ww:property value="user.password"/>
,email:<ww:property value="user.email"/>
,age:<ww:property value="user.age"/>
,name1:<ww:property value="name1"/>
,int1:<ww:property value="int1"/>
,float1:<ww:property value="float1"/>
,double1:<ww:property value="double1"/>
<hr>
<input type="button" name="back" value="back" οnclick="javascript:window.history.back();">
</p>
</body>
</html>
xwork.xml片斷
java代碼:
<interceptors>
<interceptor-stack name="defaultComponentStack">
<interceptor-ref name="component"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
<interceptor-stack name="standard-interceptors">
<interceptor-ref name="static-params"/>
<interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="standard-interceptors"/>
<!-- tag demo -->
<action name="tagdemo" class="demo.tagdemo.TagDemoAction">
<result name="success" type="dispatcher">
<param name="location">/web/tag_iterator.jsp</param>
</result>
<result name="error" type="dispatcher">
<param name="location">/web/fail.jsp</param>
</result>
<result name="input" type="dispatcher">
<param name="location">/web/tag_iterator.jsp</param>
</result>
<interceptor-ref name="standard-interceptors"/>
</action>
留言 (0 留言)