struts2配置文件详解

1、 常量配置 方式1

  • 首先找到找到default.properties

 

1.1、   乱码

  • 在其中搜索encoding

  • 在struts.xml中添加如下编码:

    <!-- 乱码解决 -->

    <constant name="struts.i18n.encoding" value="UTF-8"></constant>

1.2、   自定义扩展名

  • 在其中搜索action,,

  • 在struts.xml中添加如下编码:

    <!-- 自定义扩展名 -->

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

还需要在web.xml中修改如下:

所访问的页面中修改如下:

1.3、   友好的提示信息

在其中搜索encodin

g

在struts.xml中添加如下编码:

    <!-- 友好的提示信息 -->

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

2、 常量配置 方式2

       在src下添加struts.properties配置文件

#自定义扩展名

struts.action.extension=action,,yxxy

3、 团队协作开发

 

4、 package的配置(例:user.xml)

    <!--

       包的名称自定义,可以配置多个包;namespace命名空间:不同模块可以指定不同的空间;

       extends继承 值是直接或者间接继承struts-default

     -->

    <package name="login" namespace="/user" extends="struts-default">

5、 action的配置

       <!--

           name是url请求名,不需要加/或者后缀.action

           class是处理url请求对应的java类,class要求包名+类名

           并且该类要有公共的无参构造方法

           method配置处理请求类的处理方法,默认为execute;方法要满足公共的,返回值为String,无参

        -->

       <action name="login" class="com.yxxy.action.LoginAction" method="login">

6、 result的配置(user.xml)

7、 全局配置(user.xml)

       在action的配置中,如果匹配不到对应的请求处理方法,会去全局结果集


        在请求一个不存在的action时,会去匹配默认的action,没有默认的action会报错。
      

   在action的配置中,如果不去配置class属性,将会由默认的class来执行,默认的class是ActionSupport类;如果配置了全局默认class,将会由默认全局class去执行,但是返回视图依旧是请求对应的action去响应。

8、 通配符的配置

9、 DMI(Dynamic Method Invocation动态方法调用)

 不推荐使用,存在一些安全隐患。使用格式:访问路径/ActionName!MethodName

       struts.xml

    <!-- DMI动态方法调用 -->

    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

       Action类中的方法:

    public String test() {

       System.out.println("DMI动态方法调用!");

       return "success";

    }

       测试:

             http://localhost:8080/struts_login/user/login!test.action

posted @ 2018-06-27 22:09  莯汐  阅读(129)  评论(0)    收藏  举报