首先,简单介绍一下Struts2标签
使用Struts2标签,需要先在页面中引入Struts2标签库:
<%@ taglib prefix="s" uri="/struts-tags" %>标签库的位置在struts2-core-2.3.1.2.jar包中的META-INF/struts-tags.tld
______________________________________________________________________________________________
<s:debug/>标签是一个超链接,其作用可以显示出值栈的内容,可用于调试。
______________________________________________________________________________________________
用OGNL表达式显示值栈中的数据的时候:
ActionContext.getContext().getValueStack().push("aaaaaa");获取方式:
<s:property/>将对象放到栈顶:
<span style="white-space:pre"> </span>Person person = new Person(); person.setName("张三"); person.setAge(1); ActionContext.getContext().getValueStack().push(person);获取方式:
<s:property value="name"/>补充:如果在对象栈中出现相同的元素,则会从上往下找,直到找到就停止了。
ServletActionContext.getRequest().setAttribute("as_request", "as_request");获取方式:
<s:property value="#request.as_request"/>将对象放到request域中:
<span style="white-space:pre"> </span>Person person = new Person(); person.setName("张三"); person.setAge(23); ServletActionContext.getRequest().setAttribute("person", person);获取方式:
<span style="white-space:pre"> </span><s:property value="#request.person.name"/> <span style="white-space:pre"> </span><s:property value="#request.person.age"/>取parameter域中的值:
<s:property value="#parameters.id[0]"/>查找各个域中的值:
<s:property value="#attr.a_app"/>attr会按照request>session>application的顺序查找属性,直到找到为止。
@[类全名(包括包路经)]
@[方法名 | 值名]
例如:
@java.lang.String@format('foo%s','bar')
@tutorial.MyConstant@APP_NAME;