您的位置:首页 > 编程语言 > Java开发

struts2标签总结

2011-05-06 20:09 274 查看
Struts2标签分为4类:
数据标签:动态呈现Action执行之后所产生的信息、国际化文本以及Action生成的URL和链接等。
控制标签:用来控制呈现给最终视图的信息以及控制对集合的操作
UI标签:封装了HTML表单标签和其他用户界面组件。
杂项标签
导入struts2的标签库:<%@taglib uri="/struts-tags" prefix="s"%>
数据标签:主要用于提供各种数据访问相关的功能,比如显示一个Action里的属性,以及生成的国际化输出等。
Struts2数据标签主要分为以下几种:
property:用于生成输出某个值 值包:valueStack、StackContext和ActionContext中的值 bean:该标签用于创建一个JavaBean实例,如果指定了id属性,则可以将创建的Javabean实例存放入Stack Context中。
set:用于设置一个新变量,并将该新变量放入指定的范围内
url:用于生成一个URL地址

text:用于输出国际化信息

param:用于设置一个参数,通用用做bean标签 URL标签的子标签

date:用于输出一个日期

debug:用于在页面上生成一个连接,当点击链接时,可以看到ValueStack 和 Stack Context中的内容

include:用于在JSP页面中包含其他的jsp资源等

i18n:用于指定国际化资源文件的baseName

action:该标签用于在JSP页面直接调用一个Action,通过指定executeResult参数,还可以将该Action的处理结果包含到本页面中

push:用于将某个值放入ValueStack的栈顶。

现在举出数据标签的实例如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>

<html>
<body>
<div align="center">
<div>
<h1>数据标签</h1>
</div>
<div>
<h1>bean标签</h1>
<div>
<s:bean name="cn.csdn.domain.User" id="user">
<s:param name="name">redarmy_chen</s:param>
<s:param name="email">redarmy_chen@gmail.com</s:param>
<s:param name="pass">123</s:param>
<s:param name="age">23</s:param>
<s:param name="birth">2010-10-10 10:10:10</s:param>
</s:bean>

名称:<s:property value="#attr.user.name"/><br/>
名称:<s:property value="#request.user.name"/>
<h1>使用bean产生的对象user</h1>
<s:set name="entity" value="#attr.user" scope="session"></s:set>
<h1>看结果</h1>
<s:property value="#session.entity.name"/>
<h1>使用bean产生的对象user</h1>
<s:set name="entity" value="#user"></s:set>
<h1>看结果</h1>
<s:property value="#entity.email"/>
<h1>声明一个连接</h1>
<!-- method=""指明的是action中的方法 -->
<s:url namespace="/csdn" action="update" method="execute" id="update">
<s:param name="id">1</s:param>
</s:url>
<h1>使用连接</h1>
<s:a href="%{update}">修改</s:a>
<!--
%必须结合struts2标签使用
相当于:csdn/update.action?id=1; -->
<br/>
<br/>
<!-- nice:是一个可选属性,true|false 它用于指定是否输出指定日期和当前日期之间时差-->
<s:date name="#attr.user.birth" nice="true"/>
<br/>
<!-- format -->
<s:date name="#attr.user.birth" nice="false" format="yyyy-MM-dd"/>
<s:debug></s:debug>
</div>
<div>
<!-- 发送一个请求....... -->
<s:action name="update" namespace="/csdn" executeResult="">
</s:action>
</div>
</div>
</div>
</body>
</html>
控制标签:
struts2的控制标签,主要用于完成流程控制,以及对ValueStack的控制。数据标签主要用于访问ValueStack中的数据;控制标签可以完成输出流程的控制,例如循环,分支等操作,也可以完成对集合的合并,排序等操作。
if/elseif/else:执行基本的条件流转
<s:iterator>:用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
现举控制标签的实例如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<body>
<div align="center">
<div>
<h1>struts2控制标签</h1>
<div>
1、if else if
2、iterator
</div>
<div>
<br/>
案例:
<s:set name="books" value="{'12','34','56','78','89','90'}"></s:set>

<s:iterator var="book" value="#request.books.{?#this>80}">
<s:property value="book"/>
</s:iterator>
</div>
<div>
<h1>if的案例</h1>
<!-- test:为boolean表达式 如果为真执行标签体 否则不执行 -->
<s:if test="'foo' in {'foo1','bar'} ">
<h1>foo在集合中</h1>
</s:if>
<s:else>
<h1>foo不在集合中</h1>
</s:else>
<s:set name="age" value="'65'" scope="session"></s:set>
<s:if test="%{#session['age']>80}">
<h1>太爷</h1>
</s:if>
<s:elseif test="%{#session['age']>70}">
<h1>古稀</h1>
</s:elseif>
<s:elseif test="%{#session['age']>60}">
<h1>花甲</h1>
</s:elseif>
<s:else>
<h1>年青小伙</h1>
</s:else>
</div>
</div>
</div>
</html>
UI标签:



form标签



textfield和password标签



Select标签:



radio标签:



举出UI标签的实例如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<body>
<div align="center">
<div>
<h1>注册页面</h1>
<div>
<!-- form表单 -->
<s:form theme="xhtml" action="insert" namespace="/csdn">
<!--名称-->
<s:textfield name="user.name" key="user.name" tooltip="请输入名称" tooltipDelay="5000" ></s:textfield>
<!--密码-->
<s:password name="user.pass" key="user.pass"></s:password>
<s:password name="user.cpass" key="user.cpass"></s:password>
<!-- 性别 -->
<s:radio name="user.sex" list="{'男','女'}" value="'男'" key="user.sex"></s:radio>
<!--学历 -->
<s:select list="{'博士','硕士','本科','大专','中专','高中'}" name="user.education" key="user.education" value="'本科'">
</s:select>
<!-- 邮箱 -->
<s:textfield name="user.email" key="user.email"></s:textfield>
<!-- 地址 -->
<s:doubleselect doubleList="top=='北京'?{'海淀','朝阳'}:{'保定','石家庄'}" list="{'北京','河北'}" doubleName="state" key="user.city" name="user.city"></s:doubleselect>
<!-- 出生日期 -->
<s:textfield name="user.birth" key="user.birth"></s:textfield>
<!-- 用户爱好 -->
<s:checkboxlist name="user.favs" list="#{1:'打篮球',2:'排球',3:'足球'}" listKey="key" listValue="value" key="user.favs"></s:checkboxlist>
<!-- 用户介绍 -->
<s:textarea cols="18" rows="10" name="user.intro" key="user.intro">
</s:textarea>
<!-- 提交文本 -->
<s:submit key="submit"></s:submit>
</s:form>
<s:token></s:token>
</div>
</div>
</div>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: