struts.xml的详细配置

1.package配置

        name属性: 定义一个包的名称,它必须唯一。

        namespace属性: 与action标签的name属性联合使用来确定一个action的访问路径

        extends属性: 指定继承自哪个包,一般值是struts-default, struts-default包是在struts-default.xml文件中声明的。

        abstract属性:它代表当前包是一个抽象的,主要是用于被继承.

2.action配置

        name属性: 与package的namespace联合使用来确定一个action的访问路径

        class属性: 用于指示当前访问的action类

        method属性: 用于指示当前的action类中的哪个方法执行

      注: 如果action配置中的class及method未找到,就会执行ActionSupport类中的execute方法,这个方法的默认返回值是"success" . 同理,如果class指向的action类继承了ActionSupport类并重写了execute方法,则method默认会执行对应action类中的execute方法.

3.result配置

        name属性: 与action类的method方法的返回值进行匹配,来确定跳转路径

        type属性: 用于指定跳转方式,

                    dispatcher请求转发(默认值).针对jsp页面

                    redirect请求重定向.针对jsp页面

                    chain,类似于请求转发,但它针对于action跳转

                    redirectAction, 类似于重定向,但针对于action

4.简单示例:

 

            

                   /

                   /

          

  

5.一些补充

  (1)使用*通配符简化action配置

        适用于相同action类下的不同method的action配置问题,原则上不建议使用过多的*号,它带来程序阅读障碍,不便于理解.

            示例:

             

                    method后面的{1}会获取到第一个*号传来的值.

               在浏览器输入http://localhost:8080/项目名/product_add ,调用的就是add方法.

               在浏览器输入http://localhost:8080/项目名/product_del ,调用的就是del方法.

               在浏览器输入http://localhost:8080/项目名/product_find ,调用的就是find方法.

    (2)在下创建全局result,全局result面向当前package下的所有action配置

        当action类的方法返回值在action配置中匹配不到result的时候,,就会去package下找全局result.

    struts.xml的详细配置_第1张图片

(3)在struts.xml文件中常见的定义常量

    /> 可以帮助我们解决post请求乱码问题

     指定访问struts2框架路径的扩展名

    配置这项后,它会提供更加详细报错信息,以及在struts.xml文件修改后不在需要重启服务器



你可能感兴趣的:(JAVA,struts2)