5、为Action的属性注入值
要实现依赖注入,把值放进去用set方法,在页面获取用get方法
<package ...>
<action name="list" class="xxxx">
<param name="savepath">/images</param>
<result name="success">/WEB-INF/page/message.jsp</result>
</action>
</package>
把值注入到Action的属性中
在页面上通过EL表达式就可以得到相应的值
6、指定struts2处理的请求
只需要<constant name="struts.action.extersion" value="do"/>加逗号进行分隔
加载常的顺序:
struts-default.xml-->struts-plugin.xml--->struts.xml-->struts.properties-->web.xml
如果冲突,后面的值会覆盖掉前面的常量,建议在struts.xml中定义常量
<constant name="struts.i18n.encoding" value="UTF-8"/>指定默认的字符编码
<constant name="struts.save.static.browserCache" value="false"/>设置是否缓存静态的内容
<constant name="struts.configuration.xmlreload" value="true">设置在改变配置文件之后,自动重新加载
<constant name="struts.objectFactory" value="Spring"/>
7、struts2的处理流程
用户请求-->根据web.xml 过滤掉所有的路径 会经过StrutsPrepareAndExecuterFilter
当拦截到用户的请求后,判断用户的请求路径是带action后缀还是不带
这时就会被转入struts2框架进行处理-->经过一系列的Interceptor--->Action-->Result(视图)-->jsp/html--->响应到浏览器中
struts1和struts2使用的是原型设计模式,在管理的不同在于,struts2每一次请求会创建一个Action,是线程安全的
struts1不是线程安全,它会放入缓存中,只有一个实例,是单例模式