Struts2-7 通用标签
来源:互联网 发布:软件可靠性指标 编辑:程序博客网 时间:2024/05/16 09:15
问题:Struts2是何时自动将Action对象放入到值栈中?
解答:调试发现,Struts2在调用Action类对象的action方法前,先创建了一个StrutsActionProxy对象,再在对该对象进行初始化时将Action对象放入到值栈中。
1. *property 标签
作用:用于输出值栈属性的值。
注意:如果value属性没有给出,ValueStack栈顶对象的属性值被输出;且在多数情况下,JSP的EL表达式可以提供更简洁的语法。
* s:property: 打印值栈中的属性值,对于对象栈则打印其中对象的属性值 <br><br>商品名称:<s:property value="[0].productName"/> <br><br>* 对于Map栈,则打印request、session或application的某个属性值 或 某个请求参数(parameters)的值 <br><br>会话时间:<s:property value="#session.date"/> <br><br>用户姓名:<s:property value="#parameters.name[0]"/> <br><br>
2. *url 标签
作用:用于动态创建一个URL字符串。
* s:url: 动态创建一个URL字符串(注意OGNL的自动解析) <br><br><s:url value="/getProduct" var="url1"> <s:param name="productId" value="1001"></s:param> <!-- 对于value值会自动进行OGNL解析 --> <s:param name="productPrice" value="productPrice"></s:param> <s:param name="date" value="#session.date"></s:param> <!-- 对于value值会自动进行OGNL解析:如不希望解析则使用单引号 --> <s:param name="productName" value="'Struts2'"></s:param></s:url><!-- URL字符串:/Struts2-5/getProduct?productId=1001&productPrice=19.9&productName=Struts2 -->URL字符串:${url1 } <br><br><s:url action="testAction" namespace="/qiaobc" method="save" var="url2"></s:url><!-- 构建一个请求action的URL --><!-- URL字符串:/Struts2-5/qiaobc/testAction!save.action -->URL字符串:${url2 } <br><br><!-- includeParams属性:默认为no,即不包含请求参数;get,包含get请求的请求参数;all --><s:url value="testIncludeParams" var="url3" includeParams="get"></s:url><!-- URL字符串:testIncludeParams?name=qiaobc -->URL字符串:${url3 } <br><br>
3. *param 标签
作用:用于将参数传递给包含着它的父标签。
注意:
- 无论value值时是否有使用OGNL强制解析符号(%{}),Struts2都会对其进行OGNL解析;
- 如果想传递一个String类型的字符串作为参数值,必须把它用单引号括起来;
- 可以把value属性的值写在开始标签和结束标签之间,利用这种方式来传递一个EL表达式的值。
4. *set 标签
作用:用于在ValueStack值栈的ContextMap栈的Map对象中创建一个键值对。
* s:set: 向page、request、session或application域对象中添加一个属性值 <br><br><!-- 对于value值会自动进行OGNL解析 --><s:set name="productName" value="productName" scope="page"></s:set>商品名称:${pageScope.productName } <br><br>
5. *push 标签
作用:用于在标签起始时将一个对象压入对象栈,而在标签结束时将对象弹出栈。
* s:push: 把一个对象再标签开始后压入到值栈(对象栈)中,标签结束时弹出值栈 <br><br><!-- 对于value值会自动进行OGNL解析 --><s:push value="productDesc">商品描述:${productDesc }</s:push> <br><br>
6. *if、else、elseif 标签
作用:用于进行条件判断。
* s:if、 s:else、 s:elseif <br><br><!-- 优势:可以直接使用值栈中的属性 -->处理器型号:<s:if test="productPrice > 1600">I7</s:if> <s:elseif test="productPrice > 800">I5</s:elseif> <s:else>I3</s:else> <br><br>
7. *iterator 标签
作用:用于对集合进行遍历,并将该集合中的元素依次压入和弹出值栈。
注意:在开始执行时,iterator标签会先把IteratorStatus类的一个实例压入 ContextMap中,并在每次循环遍历时对其进行更新,故可将指向IteratorStatus对象的变量赋给status其属性。
iterator标签的status属性值:
8. *sort 标签
作用:用于对可遍历对象中的元素进行排序。
9. *date 标签
作用:用于对Date对象进行格式化。
注意:format属性的值必须是java.text.SimpleDateFormat类中定义的日期/时间格式之一。
10. *a 标签
作用:该标签将呈现一个HTML超链接,其中可以采用OGNL强制解析符(%{attributeName})对属性进行OGNL自动解析。
11. action 标签
作用:用于在页面上执行一个action请求,其会将当前Action对象压入值栈的ContextMao子栈中。
12. bean 标签
作用:该标签将创建一个JavaBean,并将其压入值栈的ContextMap子栈中,与JSP中的useBean动作元素相似。
13. include 标签
作用:用于将一个Servlet或JSP页面的输出包含到当前页面中来。
14. append 与 merge 标签
作用:append标签用来合并可遍历对象,而merge标签用来交替合并可遍历对象。
15. generator 标签
作用:用于生成一个可遍历对象,并将其压入值栈,直到标签结束时弹出。
注意:如果在generator标签中配置converter属性,则生成的可遍历对象中的所有元素都会传递到该属性所指定的方法中进行必要的转换。
16. subset 标签
作用:通过其decider属性来创建一个可遍历集合的子集。
- Struts2-7 通用标签
- struts2通用标签
- Struts2-通用标签
- Struts2通用标签学习
- struts2中的通用标签
- struts2通用标签
- Struts2通用标签之数据标签
- Struts2通用标签之数据标签
- Struts2的标签之通用标签
- Struts2(八)---通用标签&表单标签
- 第六章:通用标签:深入浅出struts2
- struts2 通用属性(表单标签)
- struts2-通用和控制标签大纲
- Struts2常用的通用(generic)标签
- Struts2常用标签之通用标签的使用
- Struts2学习笔记(九):Strut2通用标签详解
- Struts2框架学习之五:通用标签详解
- Struts2学习——1700Struts通用标签
- centos7安装配置apache/httpd
- #android--自定义栈管理Activity,实现一次退出所有的Activity
- 学习Python csv模块遇到AttributeError: module 'csv' has no attribute 'writer'和写入后出现空格问题
- MFC 画线
- 一次曲折的下载经历
- Struts2-7 通用标签
- Word Break
- C语言文件操作
- [leetcode]406. Queue Reconstruction by Height
- 一个三流学校程序员的奋斗
- Wordpress 安装Plugin是报错“To perform the requested action, WordPress needs to access your web server”
- 我的三色2016
- Single Number
- Retrofit学习教程(4)-Multiple Query Parameters of Same Name