版权声明:本文为博主原创文章,未经博主允许不得转载。

Struts2可以将所有标签分成3类:

准备工作:需要在JSP页面引入标签库

<%@ taglib prefix="s" uri="/struts-tags" %>

1.<s:set/>标签

<!-- 用法一 相当于 ActionContext.getContext().put(key, value) -->
<s:set name="name" value="'caoyc'"/> <!-- 这里name是字符串形式,所有value值需要加单引号 ,如果不加单引号,该变量的值为null-->
<s:set name="age" value="20"></s:set>
<s:property value="#name"/>
<s:property value="#age"/> <!-- 用法二 指定scope范围 :application、session、request、page或action--><br/>
<s:set name="name2" value="'zhh'" scope="request"/> <!-- 相当于ServletActionContext.getRequest().setAttribute("name2", "zhh") -->
<s:property value="#request.name2"/>

2.<s:property/>标签

(1)从Action栈中的属性获取,要求有getXXX()方法

<s:property value="name"/>

(2)从Action栈中获取对象的属性,要求为该对象属性获取getXXX方法

<s:property value="user.name"/>

(3)访问Action栈中对象方法

<s:property value="user.toString()"/>

(4)访问Action的普通方法

<s:property value="methodName()"/>

(5)访问list集合第一个元素的name属性

<s:property value="#list[0].name"/>

(6)根据key访问Map中的元素

<s:property value="mapName.username"/>
<s:property value="mapName['username']"/>
<s:property value="mapName[/"username/"]"/>

(7)访问request中请求的参数

<s:property value="#parameters.username"/>
<s:property value="#parameters['username']"/>

3、<s:if><s:elseif></s:else>标签

<s:set name="level" value="20 "/>
<s:if test="#level<=12">
小学
</s:if>
<s:elseif test="#level>12 && #level<=15">
初中
</s:elseif>
<s:elseif test="#level>15 && #level<=18">
高中
</s:elseif>
<s:elseif test="#level>18 && #level<=24">
大学
</s:elseif>
<s:else>
硕士及其以上
</s:else>

4、<s:iterator>标签

方式一:这种方式:每当迭代一次,struts就会将迭代器当前对象添加到Root栈的栈顶,所以可以直接通过属性名,访问该对象的属性,每次迭代完后该对象就会自动消失

<s:iterator value="persons">
<s:property value="name"/>
<s:property value="age"/>
</s:iterator>

方式二:指定了var属性,同样会在Root栈的栈顶添加该对象,同时也会复制一份到ActionContext对象中,所以可以通过下面方式访问

<s:iterator value="persons" var="p">
<s:property value="#p.name"/> <!-- 通过ActionComtext方法 -->
<s:property value="age"/> <!-- 通过Root栈访问 -->
</s:iterator>

struts2 常用标签的更多相关文章

  1. Struts2常用标签

    Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...

  2. struts2常用标签详解(申明:来源于网络)

    struts2常用标签详解(申明:来源于网络) 地址:http://blessht.iteye.com/blog/1184960

  3. Struts2常用标签总结(申明:来源于网络)

    Struts2常用标签总结(申明:来源于网络) 地址:http://jimingsong.iteye.com/blog/1582939

  4. Struts2常用标签总结

    Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...

  5. struts2常用标签之数据标签

    数据标签1  property标签  property标签的主要属性:  value:用来获取值的OGNL表达式,如果value属性值没有指定,那么将会被设定为top,也就是返回位于值栈最顶端的对象. ...

  6. struts2常用标签使用说明

    在struts2中,用的是s标记,先在jsp文件中引入标记:<%@ taglib prefix="s" uri="/struts-tags"%> & ...

  7. STRUTS2 常用标签的使用

    <body> <h1>s:if标签的用法</h1> <s:set name="price" value="25"> ...

  8. struct2常用标签

    Struts2常用标签总结 一 介绍 1.Struts2的作用    Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了 ...

  9. struts2视频学习笔记 29-30(Struts 2常用标签,防止表单重复提交)

    课时28 Struts 2常用标签解说 property标签 property标签用于输出指定值: <s:set name="name" value="'kk'&q ...

随机推荐

  1. mvc4 to mvc5 orEF5 to EF6 ,(升级EF6)

    把后台MVC4 自动生成的网站从EF5.0 升级为 EF6.1.3 (6.0以上) 报错 找不到方法:“System.Data.Objects.ObjectContext System.Data.En ...

  2. 【20181020T1】蛋糕

    题面 [正解] 显然先按a排个序,然后用b乱搞 第一问用D开头的定理求最长下降子序列 第二问乱搞 for (int i=1;i<=n;i++) { int* t=upper_bound(f+1, ...

  3. 【计算几何】【凸包】Gym - 101164H - Pub crawl

    平面上n个点,点之间沿直线走,规划一条路线,每次只能往左半平面的点走,走过最多的点. 显然所有的点都能走过. n^2的暴力显然是每次找左边与其所形成夹角最小的点,但这样过不了(卡常数?). 或者每轮不 ...

  4. 【构造】Gym - 100781B - Bell Ringing

    根据n-1推n的情况,让n从每一个的最右走到最左,再从下一个最左走到最右,如此往复即可. #include<cstdio> using namespace std; int n,a[500 ...

  5. [NOI2017]整数

    [NOI2017]整数 题目大意: \(n(n\le10^6)\)次操作维护一个长度为\(30n\)的二进制整数\(x\),支持以下两种操作: 将这个整数加上\(a\cdot2^b(|a|\le10^ ...

  6. Java高级架构师(一)第33节:Nginx常用核心模块指令

    error_log:错误日志级别 http://www.nginx.cn/doc/  Nginx中文文档 # 并发总数是 worker_processes 和 worker_connections 的 ...

  7. Ubuntu 16.04重启Nautilus

    关闭: nautilus -q 启动: 不要在命令行启动,直接在Dash中找到“文件”,然后启动,这样就可以在后台直接运行.

  8. <摘录>GCC 中文手

    GCC 中文手册 作者:徐明 GCC Section: GNU Tools (1) Updated: 2003/12/05 Index Return to Main Contents -------- ...

  9. IIS配置Asp.net时,出现“未能加载文件或程序集“System.Web.Extensions.Design, Version=1.0.61025.0”

    如果出现未能加载文件或程序集“System.Web.Extensions.Design, Version=1.0.61025.0, 主要是没有安装.net framwork 3.5,安装一下就行了. ...

  10. UIButton中的三个UIEdgeInsets属性

    接着昨天的 UIButton中的三个UIEdgeInsets属性 ,今天我们具体谈谈UIButton的contentEdgeInsets.titleEdgeInsets.imageEdgeInsets ...