美文网首页
Action注入属性值、后缀以及常量问题

Action注入属性值、后缀以及常量问题

作者: exmexm | 来源:发表于2017-06-29 10:29 被阅读0次
一、Action属性依赖注入的问题

Struts2为Action中的属性提供了依赖注入功能,在Struts2的配置文件中,我们可以很方便地为Action中属性注入值,注意的是属性中必须提供setter方法

1、Action中的代码:

package cn.itcast.action;

public class LoginAction {
    private String companyName;
    
    public String getCompanyName() {
        return companyName;
    }
    
    public String execute() {
        return "success";
    }

}

2、配置文件

 <action name="hello" class="cn.itcast.action.LoginAction" method="execute">
            <result name="success">/WEB-INF/index.jsp</result>
            <param name="companyName">中国有限公司</param>
         </action>

上面是通过<param>结点为action的savePath属性注入"companyName"
注意:即使为属性注入值时中文,也不用考虑编码问题~

二、指定需要处理的请求后缀

默认是使用.action后缀访问Action的,
一般可以通过"struts.action.extension"进行修改的,例如指定多个请求后缀,多个后缀之间用英文逗号隔开,如在struts.xml文件中配置:
<constant name="struts.action.extension" value="do,action"/>

只要使用指定后缀,使用缺省方式访问后缀会提示找不到网页

三、常量定义

上述的改变后缀的方法也可以在struts.proprtise中配置常量(文档上不建议):

struts.action.extension=do

1、因为常量可以在下面的多个配置文件中进行定义,所以Struts2加载常量的搜索顺序如下:(从第一个往后)
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
如果多个文件中配置了同一个常量,则后一个文件中配置的常量值会覆盖前面文件中配置的常量。

2、常用的常量介绍
1>指定默认的编码集,相当于作用于httpServletRequest 的setCharacterEncoding方法和freemarker、velocity的输出
<constant name="struts.i.18n.encoding" value="utf-8"/>

2、如果用户需要指定Struts2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。

<constant name="struts.action.extension" value="do"/>

3、设置浏览器是否缓存静态内容,默认值为true(生产环境下使用)、开发阶段最好关闭

<constant name="struts.serve.static.browserCache" value="false"/>

4、当Struts的配置文件修改后。系统是否自动重新加载该文件,默认值为false(生产环境下使用)、开发阶段最好打开

<constant name="struts.configuration.xml.reload" value="true"/>

5、开发模式下使用,这样可以打印出更详细的错误信息

<onstant name="struts.devMode" value="true"/>

6、默认的视图主题

<constant name="struts.ui.theme" value="simple"/>

7、与Spring集成时,指定由spring负责action对象的创建

<constant name="struts.objectFactory" value="spring"/>

8、该属性设置Struts2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为false。

<constant name="struts.enable.DynamicMethodinvocation" value="false"/>

9、上传文件大小的限制

<constant name="struts.multipart.maxSize" value="10701096"/>

相关文章

网友评论

      本文标题:Action注入属性值、后缀以及常量问题

      本文链接:https://www.haomeiwen.com/subject/meqmcxtx.html