记一个使用iterator标签的例子
/*
* Created on 2004-8-2
* author:xmx
*/
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;
}
/**
* @return
*/
public String getName1(); {
return name1;
}
/**
* @param string
*/
public void setName1(String string); {
name1 = string;
}
/**
* @return
*/
public int getInt1(); {
return int1;
}
/**
* @param i
*/
public void setInt1(int i); {
int1 = i;
}
/**
* @return
*/
public double getDouble1(); {
return double1;
}
/**
* @return
*/
public float getFloat1(); {
return float1;
}
/**
* 只要在页面显示,设置getXXX();,并且返回对应的数据就可以了
* 数据从service中取到
* @return
*/
public String[] getStrs(); {
String []back=new String[]{"11","22","33","44","55","66"};
return back;
}
/**
* List也可以在页面用iterator显示
* @return
*/
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;
}
/**
* @param d
*/
public void setDouble1(double d); {
double1 = d;
}
/**
* @param f
*/
public void setFloat1(float f); {
float1 = f;
}
/**
* @param strings
*/
public void setStrs(String[] strings); {
strs = strings;
}
}
input.jsp
<%@ 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
<%@ 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="@demo.Constants@TEST"/>
<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" onclick="javascript:window.history.back();;">
</p>
</body>
</html>
xwork.xml片断
<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>
分享到:
相关推荐
**WebWork 学习笔记(全)** WebWork 是一个基于 Java 的开源MVC(Model-View-Controller)框架,它旨在简化企业级Web应用程序的开发。本教程将全面介绍WebWork的核心概念、架构和使用方法。 **WebWork 介绍** ...
### WebWork学习笔记知识点 #### 一、WebWork框架简介 - **定义**: WebWork是一个由OpenSymphony组织开发的MVC(Model-View-Controller)框架,专注于组件化和代码重用,适用于J2EE应用程序开发。 - **最新版本**:...
本学习笔记将深入探讨WebWork2的核心概念、主要特性以及如何在实际项目中应用。 首先,WebWork2的核心是Action,它是处理用户请求的中心组件。Action类负责接收HTTP请求,执行业务逻辑,并通过Result将处理结果返回...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
根据提供的文件信息,可以看出这份学习笔记主要关注于SSH(Struts、Spring 和 Hibernate)框架的配置与使用。接下来,我们将详细解析这些知识点。 ### 一、Spring 框架依赖 Spring 是一个开源的轻量级Java开发框架...
【代码学习笔记】 DWR(Direct Web Remoting)是一个在Java EE环境中广泛应用的AJAX框架,它的核心功能是使得开发者能够像操作本地JavaScript函数一样,便捷地调用服务器端的Java方法。这一特性极大地简化了前后端...
本笔记将深入探讨Struts2的核心概念、发展历程、使用方法以及与OGNL(Object-Graph Navigation Language)的结合应用。 **一、Struts2概述** 1.1 为什么要用Struts 在Java Web开发中,Struts2作为MVC框架,能够...
本学习笔记将对Struts1和Struts2进行详细解析。 **Struts1简介** Struts1是早期流行的MVC框架,它的核心是ActionServlet,负责处理HTTP请求,并通过ActionForm对象收集表单数据,然后调用Action类的方法进行业务...
Struts2 是一个流行的开源Java Web框架,它源于WebWork,并结合了Struts1的优点,为开发者提供了强大的MVC(Model-View-Controller)架构支持。在Struts2中,MVC设计模式被用来分离应用程序的不同部分,以提高可维护...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
在学习WebWork的过程中,`笔记.pdf`可能是作者或读者整理的学习要点和心得,涵盖了书中关键概念的总结。`[www.whser.com]readme.txt`可能是一个网站的说明文档,提供了更多关于WebWork的在线资源或者示例代码。`JSP...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...