struts2常用标签

首先struts2的标签共分为五大类:逻辑控制标签,数据输出标签,HTML表单标签,HTML非表单标签,AJAX标签。
每一个大类里面又有很多标签,而有些并不是用的很多,我现在只展现一些常见的标签。
要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix=”s” uri=”/struts-tags”%>

1. property标签:
property标签用于取得value的属性值。
1.显示Action中的属性值:<s:property value="属性名"/>
2.显示字符串,使用单引号:<s:property value="'字符串'"/>
3.显示默认值,Action中找不到指定的属性时,显示default属性的值:
<s:property value="属性名" default="默认值"/>
4.解析HTML字符串,escape默认值为true,直接输出字符串,escape设为false时,解析HTML字符串.`
注意:value会把里面的字符串解析为ognl表达式,而并不是一个字符串,如果要传一个普通字符串是用第二种。

2. set标签:
set标签用于赋予变量一个特定范围的值。
1.set的属性:
a.var:设置变量的名称,不推荐使用id和name设置变量的名称;
b.value:设置变量的值;
c.scope:作用范围,可以设置page,request,session,application,action;
2.不设置scope时,变量默认保存在request和ActionContext中。
set设置值(默认保存在request和ActionContext中):<s:set var="adminName" value="userName" /><br />
3.用法:
从request中取set设置的值:<s:property value="#request.adminName" /><br />
set设置值,设定范围为page:<s:set var="vipName" value="userName" scope="page" /><br />
从ActionContext中取set设置的值:<s:property value="#vipName" /><br />
从session中取set设置的值:<s:property value="#session.vipName" /><br />

3. bean标签:
bean标签遵循JavaBean规范化实例类对象,该标签体内可以包含多个param标签来设置bean的属性,如果设置了var属性,bean实例将被放到栈的上下文中。
bean标签包含的属性有:
name:设置被实例化bean的完整类名。
var:设置用于访问值栈中值的名称。

4. param标签:
struts2的s:param标签主要有两个属性name与value,
若想在value属性中输入直接量,则可以这样写:<s:param name="tableTitle" value="%{'user'}"/>
也可以这样写:<s:param name="tableTitle">user</s:param>,这个表达式tableTitle变量的值为user字符串,而不是user变量;
若想取user对象的值,则可以这样写<s:param name="tableTitle" value="user"/>
注意:要想设定为字符串应该要value=”’字符串’”。

5. if标签:
一:判断字符串的问题:
1、判断单个字符:
这样是从session中取出username的值,并且判断其是否为c<s:if test="#session.user.username=='c'.toString()">
2、判断字串:<s:iftest="#session.user.username=='milo'">
这样写的就是判断username是不是milo。
3、判断数值:<s:if test="#session.user.username==0">
这样写的就是判断username是不是0,是int的判断。
二:判断为空的问题:<s:if test="#session.user.username==null">
struts2中的判空似乎只能这么写
判断非空可以这样写:<s:if test="#session.user.username!=null" >
举例:

<s:set name="name" value="model.userId" />
        <s:if test="#name == 'luozhh'">
            Luozhh's file here
        </s:if>
        <s:elseif test="#name == 'Scott'">
            Scott's file here
        </s:elseif>
        <s:else>
            Other's file here
        </s:else>

6. iterator标签:
s:iterator 标签有3个属性:
value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引
1:jsp页面定义元素写法 数组或list
例子:

<s:iterator value="{'1','2','3','4','5'}" >
 <s:property value='number'/>A
 </s:iterator>

打印结果为: 1A2A3A4A5A
7. debug标签:
debug标签主要用于辅助测试,它在页面上生成一个超链接,通过该链接可以查看ValueStack和Stack Context 中的所有值信息。使用debug标签只有一个id属性,这个属性仅仅是该元素一个引用id。 在页面上增加<s:debug/>标签,通过debug标签,可以看的系统中ValueStack离得全部信息,并可以看到Stack Context中的属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值