19_21.Struts2_通用标签
来源:互联网 发布:女生身高多少最好知乎 编辑:程序博客网 时间:2024/06/05 07:37
private List<Person> persons = new ArrayList<Person>(); public List<Person> getPersons() { return persons; } public void setPersons(List<Person> persons) { this.persons = persons; } public String commontag(){ this.setProductDesc("aa"); this.setProductId(1001); this.setProductName("intel"); this.setProductPrice(1000d); Person person5 = new Person("dd",41); Person person2 = new Person("aa",11); Person person4 = new Person("cc",31); Person person3 = new Person("bb",21); Person person6 = new Person("ee",51); //想要将对象压入值栈,则需要是对象本身的属性才行,并且要有getxxx setxxx方法 //List<Person> persons = new ArrayList<Person>(); persons.add(person2); persons.add(person3); persons.add(person4); persons.add(person5); ActionContext.getContext().getValueStack().push(persons); return "commontag"; }
*property 标签
示例:
输出 Action 属性 customerId 的值:
输出 session 属性 userName 的值:
如果 value 属性没有给出, ValueStack 值栈栈顶对象的值被输出
在许多情况下, JSP EL 可以提供更简洁的语法
url 标签
<s:url value="/getProduct" var="url2"><!-- 对于value值会自动的进行OGNL解析 --> <s:param name="productId" value="productId"></s:param></s:url>${url2 }<br><br><s:url value="/getProduct" var="url3"><!-- 对于value值会自动的进行OGNL解析,若不希望解析,则用单引号再引起来 --> <s:param name="productId" value="'productId'"></s:param></s:url>${url3 }<br><br><s:url var="url4" action="testAction" namespace="/tag11" method="save"></s:url>${url4 }<br><br><s:url var="url5" value="testurl" includeParams="all"></s:url>${url5 }
s:url:创建一个URL字符串 /struts2-4/getProduct?productId=1003 /struts2-4/getProduct?productId=1001 /struts2-4/getProduct?productId=productId /struts2-4/tag11/testAction!save.do testurl?name=123123
*param 标签
param 标签用来把一个参数传递给包含着它的那个标签
无论在给出 value 值时有没有使用 %{}, Struts 都会对它进行 ognl 求值
如果想传递一个 String 类型的字符串作为参数值, 必须把它用单引号括起来.
可以把 value 属性的值写在开始标签和结束标签之间. 利用这种方式来传递一个 EL 表达式的值
*if, else 和 elseif 标签
这三个标签用来进行条件测试, 它们的用途和用法类似于 if, else 和 elseif 关键字. 其中 if 和 elseif 必须有 test 属性
s:*if, else 和 elseif 标签.用来进行测试<!-- 可以直接使用值栈中的值,使用OGNL表达式解析test --><br><br><s:if test="productPrice > 1000"> i7</s:if><s:elseif test="productPrice > 800"> i5</s:elseif><s:else> i3</s:else>
iterator 标签
*iterator 标签:iterator 标签用来遍历一个数组, Collection 或一个 Map, 并把这个可遍历对象里的每一个元素依次压入和弹出 ValueStack 栈在开始执行时, iterator 标签会先把 IteratorStatus 类的一个实例压入 ContextMap, 并在每次遍历循环时更新它. 可以将一个指向 IteratorStatus 对象的变量赋给 status 属性.<% Person person2 = new Person("aa",11); Person person3 = new Person("bb",21); Person person4 = new Person("cc",31); Person person5 = new Person("dd",41); Person person6 = new Person("ee",51); List<Person> persons = new ArrayList<Person>(); persons.add(person2); persons.add(person3); persons.add(person4); persons.add(person5); request.setAttribute("persons", persons);%><br><br><s:iterator value="#request.persons" var="person" status="status"> ${status.index} -- ${name } -- ${age }<br></s:iterator><br><br><s:iterator value="persons" > ${name }- ${age }<br></s:iterator>
sort 标签要有一个对比器实现Comparator
*sort 标签:sort 标签用来对一个可遍历对象里的元素进行排序. <br><br><% PersonComparator pc = new PersonComparator(); request.setAttribute("pc", pc);%><s:sort comparator="#request.pc" source="persons" var="persons"></s:sort><s:iterator value="persons" > ${name }- ${age }<br></s:iterator>
public class PersonComparator implements Comparator<Person>{ @Override public int compare(Person o1, Person o2) { // TODO Auto-generated method stub return o1.getName().compareTo(o2.getName()); }}
*date 标签
date:date 标签用来对 Date 对象进行排版<% Date date = new Date(); session.setAttribute("date", date);%><br><br><s:date format="yyyy-MM-dd HH-mm-ss" name="#session.date" var="date2"></s:date> ${date2 }<br><br>
a 标签将呈现为一个 HTML 连接. 这个标签可以接受 HTML 语言中的 a 元素所能接受的所有属性.
<br><br><s:iterator value="persons" > <s:a href="getPerson.action?name=%{name}">${name }</s:a><br></s:iterator>
0 0
- 19_21.Struts2_通用标签
- Struts2_通用标签
- 11.struts2_通用标签
- 18.Struts2_通用标签
- (18)Struts2_通用标签
- (19)Struts2_表单标签
- Struts2_表单标签
- 4、struts2_标签库
- 12.struts2_表单标签
- struts2_标签、主题
- 19.Struts2_表单标签
- struts2_大纲04_标签
- 【JavaWeb Structs2学习】Struts2_标签,property、iterator
- 通用标签
- 通用标签
- 通用标签库
- 自定义标签通用分页
- struts2通用标签
- Java琐碎小知识(二)
- MRI影像学习笔记(一)
- Ubuntu16.04之Hadoop2.7.3集群安装配置教程
- 中南大学第十一届大学生程序设计竞赛-COJ1895-Apache is late again
- 【深入理解JVM】第10~13章 编译期优化、线程安全、锁优化 笔记
- 19_21.Struts2_通用标签
- 欢迎使用CSDN-markdown编辑器
- 再谈AR中的图像识别算法
- eclipse快捷键大全
- 浮动的一点研究
- IP分片浅析
- 变态青蛙跳问题
- 搜索人生——开心
- 求球面两点最短距离