11.struts2_通用标签
来源:互联网 发布:淘宝销量技巧 编辑:程序博客网 时间:2024/06/03 15:19
1 Struts2何时将Action的对象放入值栈中?
放入时间:在调用Action类的Action方法时,但在之前会进行如下:
-->先创建一个StrutsActionProxy对象
-->在创建StrutsActionProxy之后,对其进行初始化时,把Action对象放入值栈中。
2 *property标签
用来输出值栈内,某个对象的属性值。
<body><s:debug></s:debug><br>s:property:打印值栈中对象的属性值<br><s:property value="productName"/><br>对于Map栈,打印reques session application的某个属性值,或者某个请求参数值<br><s:property value="#session.date"/><br>打印某个请求参数(请求参数是数组对象):<br><s:property value="#parameters.name[0]"/></body>
3.url标签
url标签用来动态创建一个URL
<br><br>s:url 创建一个URL地址<br><!-- 以下标签会创建此url: /struts2-4/getProduct?productId=1001 --><s:url value="/getProduct" var="url" ><s:param name="productId" value="2222"></s:param></s:url>${url }<br><br><!-- param的value会自动进行OGNL解析,如果不想解析,就用单引号引出 --><s:url value="/getProduct" var="url2" ><s:param name="productId" value="#session.date"></s:param></s:url>${url2 }<br><br><s:url value="/getProduct" var="url3" ><s:param name="productId" value="abcd"></s:param></s:url>${url3 }<br><br><!-- 用单引号再次包围后,就不会去值栈中查找 /struts2-4/getProduct?productId=abcd --><s:url value="/getProduct" var="url4" ><s:param name="productId" value="'abcd'"></s:param></s:url>${url4 }<br><br><!--构建一个请求Action的地址 /struts2-4/hcx/testAction!save.action --><s:url action="testAction" namespace="/hcx" var="url5" method="save"></s:url>${url5 }<br><br><!--includeParams的get参数:会在新url后带上当前地址请求参数 :testUrl?name=hcx --><s:url value="testUrl" var="url6" includeParams="get"></s:url>${url6 }<br><br><!-- all会包涵到本页的post参数,附加到url上 --><s:url value="testUrl" var="url7" includeParams="all"></s:url>${url7 }<br><br>
4.set标签
可以用来在以下Map对象中创建一个键值对。
ValueStack值栈的ContextMap值栈、Map类型的session对象、Map类型的application对象、Map类型的Request对象、Map类型的page对象
<br><br><!-- 将key为productNameTest value为值栈中的poroductName的值放入request中,value会OGNL解析实际打印出来的是productName的值:CPU --><s:set name="productNameTest" value="productName" scope="request"></s:set>productname:${requestScope.productNameTest }
5.push标签
先在request中放入一个对象,然后使用push压入值栈,在push标签内部,直接输出值栈中的内容
<!-- 在标签开始后压入值栈,标签结束时弹出值栈 --><%Test test=new Test();test.setProductName("hcx");test.setProductDesc("100");request.setAttribute("ttt", test); %><s:push value="#request.ttt">push标签测试productDsc:${productName }</s:push>
6.if,else和elseif标签
test中可以直接使用值栈中的属性,例子中就通过判断值栈中product对象的productPrice,来进行区分。
<br><br><s:if test="productPrice>1000">IIIIII7</s:if><s:elseif test="productPrice>800">IIIII5</s:elseif><s:else>I3</s:else>
7.iterator标签
用于遍历一个数组,Collection或Map,并把这个可遍历对象的每一个元素依次压入和弹出ValueStack栈。
<%List<Test> tests = new ArrayList();tests.add(new Test("AA", "10"));tests.add(new Test("BB", "20"));tests.add(new Test("CC", "30"));tests.add(new Test("DD", "40"));request.setAttribute("tests", tests);%><s:iterator value="#request.tests" status="status"> <!-- status属性可以打印 索引和个数--> ${status.index }--${productName }----${productDesc } <br></s:iterator><br>-----------------<br><s:iterator value="tests">${productName }----${productDesc } <br></s:iterator>
8.sort标签
现准备好实现Comparator接口的类,然后确定source,再引入域对象,内部进行iterator。
#attr :会从域对象中依次寻找对应的key的数据,搜寻范围从 page>request>session>application
<br>排序<br><!-- var代表放到域对象里的key的值 先确定比较的comparator,然后把list放入域对象,再s:iterator遍历--><s:sort comparator="#request.ts" source="tests" var="newtests" ><s:iterator value="#attr.newtests">${productName }----${productDesc } <br></s:iterator></s:sort>
9.date标签
<br><br>s:date 可以对Date对象进行排版<br><s:date name="#session.date" format="yyyy-mm-dd" var="date2"/>date:${date2 }
10.a标签
<br><br><!-- a标签可以生产url,在href里用%{}进行强制OGNL解析 --><s:iterator value="#request.tests" ><s:a href="testURl.action?name=%{productName}">${productName}--url</s:a></s:iterator>
阅读全文
0 0
- 11.struts2_通用标签
- Struts2_通用标签
- 18.Struts2_通用标签
- (18)Struts2_通用标签
- 19_21.Struts2_通用标签
- Struts2_表单标签
- 4、struts2_标签库
- 12.struts2_表单标签
- struts2_标签、主题
- 19.Struts2_表单标签
- struts2_大纲04_标签
- (19)Struts2_表单标签
- 【JavaWeb Structs2学习】Struts2_标签,property、iterator
- 通用标签
- 通用标签
- 通用标签库
- 自定义标签通用分页
- struts2通用标签
- Spark操作HBase问题:java.io.IOException: Non-increasing Bloom keys
- Packaging on the Web
- 要想富先修路 (并查集)
- 留着以后慢慢做的树形DP(题表)
- 时间复杂度
- 11.struts2_通用标签
- 数据结构 ——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- PullRefreshLayout+WebView实现下拉刷新
- selenium2java微信支付宝购买功能测试用例
- HTML关键字<5>
- Spark内部机制学习笔记
- 说说对于编码字符集的简单认识
- android 递归监控目录或者文件
- HTML调OCX