1. struts2提供了35拦截器,18个为默认。
2. 方法过滤拦截器,拦截方法。
3. PreResultListener类监听器,它的beforeResult方法在拦截器的invoke执行后执行。
4. strust2中配置文件加载顺序,如下图:
5. @Action中可以配置很多东西,如下图:
6. Struts可以使用struts2-convention-plugin-2.2.1.1.jar插件实现基于注解的配置。
7. struts中可以新建一个struts.properties文件,它里面放相应的default.propertie中的相应属性等。可以通过struts.properties中配置文件来设置文件的
上传大小(里面不要有乘法号(*))等在xml中配置的constant配置的属性。struts.properties中配置的是全局的。
8. 在方法拦截器中,如果既没有指定includeMethods参数,也没有指定execludeMethods参数,那么所有的方法都会被拦截,也就是所有的方法都被认为是
includeMethods的;如果仅仅指定了includeMethods,那么只会拦截includeMethods中的方法,没有包含在includeMethods中的方法就不会被拦截。
9. 可以让action实现接口Preparable接口,实现里面的prepare方法。该方法,在action中方法执行前先执行,可以用于初始化。
10. struts之所以能给参数自动赋值,找的是方法,不是找名字。
11. struts的配置文件中,可以重定向到其他的action。若有参数,那么给谁传,参数跟谁中的属性名保持一致。重定向才能携带参数。请求转发中参数是页面
传来的,配置文件中加的参数没效果。配置文件中加参数不常用。
12. 带参数的重定向,举例如下图:
13. ActionContext的getSession方法返回的是一个map集合。该map集合是session底层实现,键值对。
14. chain是一个action到另一个action,在同一个请求中。redirect对应两个请求。
15. struts框架内部自动会消除网页传过来内容中的空格(doTrim),可以通过<param name="trim">false</param>不让它消除空格。用框架验证来消除
填写空格麻烦事。!!!!!!!!!!!!!!一般不配置trim。
16. deafult.xml中配置了一些默认的验证规则,配置文件全部内容如下图:
17. 国际化需要使用struts2标签,通过key来取值。例如:
对应国际化的properties文件内容如下:
user.invalid=this is a invalid
标签取值方式:
18. 使用框架来验证错误信息(有相应的dtd文件和war包中的例子,可以帮助):type的值是特定的,里面可以用el表达式。<message>中还可以通过key来取值,
可以使用国际化:对应国际化的properties文件:
19. action一般继承com.opensymphony.xwork2.ActionSupport。
20. strust2每次访问都生成一个新的action对象。
21. struts2标签,密码不会显示。
22. stuts2标签默认提交方式为post。
23. 提交页面后缀加不加action根据web.xml中的过滤器而定。
24. default.properties文件在struts2-core-2.3.16.jar 包的 org.apache.struts2包下。
25. struts-*.dtd用于检查struts2.xml的格式。
26. 防止表单重复提交的两种方式:
1). 通过重定向。页面重定向到完成页面。(推荐)
2). 通过session token(token令牌)
27. 注意:若自己加拦截器,必须配置默认拦截器栈,且默认拦截器放在后面。
<interceptor-ref name="defaultStack"></interceptor-ref>