- 配置开发环境
- 添加struts2依赖jar包
- 3.
字段验证
validate方法内,判断字段。字段级别和action级别。
- addFieldError(“year”, “年份小于零”);
- addActionError()
ActionContext每次访问action都产生一个新的ActionContext对象。
OGNL对象图导航语言
关系:ognl表达式必须在struts标签中才会起作用。
<%@ taglib prefix="s" uri="/struts-tags"%> //struts2标签库
<s: /> //这样的标签是struts标签(前缀是s)
parameters - 包含当前HTTP请求参数的集合
#parameters .id:相当于request.getParameter(“id”);
request作用域
#request.userName
session作用域。。。
application作用域。。。
创建访问List集合:
{“”,”“,”“}或者{”,”,”,}
将集合list放到作用域request中;
从作用域request中取list结合中的值:
注意name和scope
<s:set name="list" scope="request" value="{'item1','item2','item3'}" />
<s:property value="#request.list(0)" />
<s:property value="#request.list.size" />
创建访问Map集合:
结合伪属性:size和isEmpty
集合运算符:in和not in
值栈:用来临时存储ognl目标对象的堆栈数据结构。 – 后进先出 – action范围
一个请求,一个ActionContext,一个值栈。(值栈存储在ActionContext对象中)
当访问Action时,会创建Action对象,并对属性初始化,然后默认将action对象压到值栈中。jsp中也可以往值栈中压数据。
<s:property value="name" /> //获取栈顶对象name属性。相当于.getName()
<s:property value="doSomething()" /> //调用栈顶对象方法,可以传参
使用值栈:值栈一直访问栈顶,所以在使用时,使用哪个对象a,压a,读a。再压b,读b。用的时候压栈。