1.Action
a)namespace
b)path
c)DMI(Dynamic method invocation:!methodName)
d)通配符匹配(*_*)
e)接收参数
action属性,
域模型,
ModelDriven(了解);
f)访问web元素(四种(2种基本类型,2种struts2封装类型(Map)),常用两种:取得request,session,application;获取response:实现responseAware)
g)简单数据验证(addFieldError),前提需:实现Action接口/继承ActionSupport类
2.Result
a)结果类型(dispatcher,redirect,chain,redirectAction,stream)
b)全局结果集(global-result)
c)动态结果(了解)
3.OGNL表达式(重点)
a)#(从action stack),%(取得满足条件的所有结果),^(取得满足条件的第一个结果),$(取得满足条件的最后一个结果)
4.struts标签
控制标签:
<s:if>
<s:elseif>
<s:else>
<s:iterator>
通用标签,
<s:property>
<s:bean>
<s:set>
<s:param>
UI标签(了解)
文件上传下载(传统方式,struts2封装:FileUtils.copy(clientFile,serviceFile),文件下载stream中的配置)
i18n(properties中中文输入问题,native2ascii)
三个范围的属性文件:
action级别actionName_zh_CN.properties
包级级别 pakcage_zh_CN.properties
全局级别app_zh_CN.properties(struts.xml中配置基本名)
7.异常处理(了解)
8.类型转换(日期类型转换20090909)
三种注册方式:
Model(ModelName-conversion.properties)
Action(ActionName-conversion.properties)
全局(xwork-conversion.properties)
9.拦截器
拦截器栈;
权限拦截;
token解决重复提交问题
全局拦截器(<default-interceptor-ref>)
10.SiteMesh:实现动态页面与静态装饰页面分离(jar包,配置文件,过滤器,模板)
11.输入校验
手工验证:所有方法(validate()),单独的方法(validateXxx());
校验框架:所有方法(actionClassName-validation.xml),单独的方法(actionClassName-actionName-validation.xml);
12.CRUD(struts2+hibernate)