1.<s:property/>标签
value 默认来自top of stack,默认的类型是Object

<s:property value="username"/><br/>取username(对象)的值,
<s:property value="'username'"/><br/>显示一个字符串
<s:property value="sefdsafa" default="我是默认值"/><br/>如果找不到指定一个默认值
<s:property value="'<hr/>'" escape="false" /><br/>以html元素在页面显示

2.<s:set/>标签
scope存放的位置default value is Action(一般是名字太长换名用)

<s:set var="name" value="username" scope="action"></s:set>
注:username是Object,如果设置一个字符串value="'username'"
<s:property value="#name"/>
<s:property value="#request.name" />(request也能取出)

3.<s:bean/>标签
创建一个User的实例赋值保存在Stack Context

<s:bean name="com.zr.struts2.domain.User" var="myUser"><s:param name="username" value="'zr'" /><s:param name="password" value="'123'" />注:value不加单引号会默认成ogln表达式
</s:bean>
如果不指定var,bean标签开始时new一个User,压到栈顶,标签结束就从栈顶移走
<s:bean name="com.zr.struts2.domain.User"><s:param name="username" value="'zr'" /><s:param name="password" value="'123'" /><s:property value="username"/><s:debug></s:debug> (在bean标签中查看)
</s:bean>

4.<s:include/>标签
    value表示一个字符串

 <s:include value="user_success.jsp" /><s:set var="user_success" value="'/user_success.jsp'"></s:set><s:include value="%{#user_success}"></s:include>注:%{}表示将文本解析为ognl表达式

补充:$%#的区别
        1.$用于i18n和struts的配置文件,
        2.#取ActionContext的值
        3.%将文本解析为ognl表达式。对本来就是ongl的表达式不起作用

5.<s:if/><s:elseif/><s:else>标签

 <a href="/strurts2/tag/tag?username=u&password=p&age=10&age=20">测试</a>取参数一定要取某一个具体的参数,同名参数可能有不同的值<s:set var="age" value="#parameters.age[0]"/>(改名)<s:property value="#age" /><s:if test="#age >5">大于5 </s:if><s:elseif test="#age < 5 ">小于5</s:elseif><s:else>等于5</s:else><s:if test="#parameters.zr == null">没有zr参数</s:if>

6.<s:iterator/> 遍历元素

 <s:iterator value="{1,2,3}"><s:property/></s:iterator>结果:1 2 3<br/><s:iterator value="{'aa','bb','cc'}" var="x"><s:property value="#x.toUpperCase()" /></s:iterator>结果:AA BB CC<s:iterator value="{'aa','bb','cc'}" status="status">遍历过的元素总数<s:property value="#status.count" />\索引<s:property value="#status.index" />\是否为偶数<s:property value="#status.even" />\是否为奇数<s:property value="#status.odd" />\是不是第一个元素<s:property value="#status.first" />\是不是最后一个元素<s:property value="#status.last" /><br/></s:iterator>结果:遍历过的元素总数1\ 索引0\ 是否为偶数false\ 是否为奇数true\ 是不是第一个元素true\ 是不是最后一个元素false遍历过的元素总数2\ 索引1\ 是否为偶数true\ 是否为奇数false\ 是不是第一个元素false\ 是不是最后一个元素false遍历过的元素总数3\ 索引2\ 是否为偶数false\ 是否为奇数true\ 是不是第一个元素false\ 是不是最后一个元素true<s:iterator value="#{1:'a', 2:'b', 3:'c'}" ><s:property value="key"/> |<s:property value="value"/> <br /></s:iterator>结果:1 | a2 | b3 | c<s:iterator value="#{1:'a', 2:'b', 3:'c'}" var="x"><s:property value="#x.key"/> |<s:property value="#x.value"/> <br /></s:iterator>    结果:1 | a2 | b3 | c 

转载于:https://www.cnblogs.com/lnzr/p/4166094.html

struts2 常用标签的一般用法相关推荐

  1. 常用的html标签及用法,html常用标签及其属性用法

    标签:设置标题,设置完成后可以显示到IE窗口的标题上 body中常用标签: bgcolor指背景颜色 background指背景图片 横线- size-长度 width-宽度 color-颜色,col ...

  2. struts2常用标签

    一.#和%号的使用 1.#用于获取context中的值 2.%用于在表单标签中识别ognl表达式 二.常用标签 1.s:property 和ognl表达式在jsp中获取值栈数据 2.s:iterato ...

  3. Struts2 常用标签使用(三十九)

    1.append标签 使用append标签可以把多个集合对象连接起来,从而组成了一个新的集合,然后通过iterator标签进行迭代输出 id:定义连接后新集合的名字 param:子标签,每个子标签指定 ...

  4. Struts2标签库常用标签(转)

    struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...

  5. Struts2标签库常用标签

    Struts2标签库常用标签 基本概述 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器部分和视图页面部分.Struts2作为一个优秀的MVC框架,也把重点放在了这两部分上.控制器主要由Act ...

  6. Struts2_4_ActionMap与ValueStack详解_Struct2的EL及常用标签_防止表单数据重复提交

    接着Struts2_3_day的讲 注:使用Struts2的< s:debug>< /s:debug>就可获取数据储存的分布图 StrutsPrepareAndExecuteF ...

  7. (转)Struts2的标签库

    http://blog.csdn.net/yerenyuan_pku/article/details/68638679 Struts2的标签库 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器 ...

  8. 滚动屏幕显示隐藏div_HTML结构-常用标签:a·img·table·form·input·iframe·div

    学习目标: 掌握html的结构,head与body的区别 掌握常用标签 掌握a标签,img标签 掌握table标签 掌握form标签,input标签 掌握iframe 和frameSet标签 掌握di ...

  9. web.xml 常用标签配置(转)

    2019独角兽企业重金招聘Python工程师标准>>> 1.Web.xml作用: 每一个javaWeb工程都有一个web.xml配置文件,web.xml文件是用来初始化工程配置信息的 ...

最新文章

  1. Powercli 批量获取vmhost 时间
  2. 无刷电机真威武,一通操作猛如虎
  3. C语言试题五之计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和
  4. Ubuntu 通过Deb 安装 MySQL 5.5 [转载]
  5. java对类数组进行排序_Java比较器类对数组进行排序
  6. 如何表达清楚一个程序:模块化设计
  7. Ubuntu部署python3.7的开发和运行环境
  8. 端口截听实现端口隐藏 嗅探与攻击
  9. python 读取文件到字典读取顺序_Python用list或dict字段模式读取文件的方法
  10. NYOJ 138 找球号(二) (哈希)
  11. 计算机科学导论教程,计算机科学导论教程重点(6页)-原创力文档
  12. matlab如何生存对称矩阵,如何使用Matlab产生对称矩阵
  13. Tex中参考文献的引用方法
  14. C# 创建桌面快捷方式
  15. 计算机多媒体专业就业现状,计算机多媒体技术就业前景怎么样
  16. LateX正文与首页页眉线分别为单双线的设置方法
  17. Java-斗地主游戏(部分功能)
  18. 首席数据官:从哪里来?到哪里去?
  19. Linux——Linux账号与群组
  20. STM32是如何进入中断函数的

热门文章

  1. 【uniapp】3d轮播图/堆叠轮播图/层叠轮播图
  2. Maven exec:java 运行 Java main 方法
  3. java super object,java学习记录笔记--继承,super,Object类
  4. 转换8421码的程序c语言,16进制数转换成8421BCD编码函数
  5. linux对称哈希 路由,基于 IP 哈希的路由
  6. java ftp复制文件_如何使用Java将FTP服务器上的文件复制到同一服务器上的目录中?...
  7. window.location.href不打开新窗口_嘿,这条微博值得一看:不登录如何访问页面
  8. python使用shell环境变量_linux中添加环境变量(python为例)
  9. 用 Python 做数据处理必看:12 个使效率倍增的 Pandas 技巧(下)
  10. 华为宣布:免费培养2万名Python开发者!