Struts2 : [3] struts.xml常用配置

struts.xml是Struts2中最重要的配置文件。

1. < include >

struts.xml是Struts2的默认配置文件,当项目太大情况下把所有配置放到struts.xml显得太繁杂而且太乱。
比如一个网上购物程序,可以把用户配置、商品配置、订单配置分别放到3个配置文件user.xml、goods.xml、order.xml,然后通过include标签引入:

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <include file="user.xml" />
    <include file="goods.xml" />
    <include file="order.xml" />
</struts>

user.xml

<?xml version="1.0" encoding= "UTF-8" ?>
<!DOCTYPE struts PUBLIC
      "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
      "http://struts.apache.org/dtds/struts-2.0.dtd" >
<struts>
    <package name="user" namespace="/mystruts" extends="struts-default">
        <action name="user" class="action.User">
            <!--省略其他配置-->
    </package>
</struts>

(1)user.xml等其他额外struts配置是被单独解析的,所以要保证user.xml完整性
(2)不同的xml配置文件,package name是不一样的,namespace可以相同。

2.action 别名

在默认情况下,Struts2会调用动作类的execute方法。但有些时候,我们需要在一个动作类中处理不同的动作。也就是用户请求不同的动作时,执行动作类中的不同的方法。为了达到这个目的,可以在标签中通过method方法指定要指行的动作类的方法名,并且需要为不同的动作起不同的名子(也称为别名)。如下面代码所示:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="struts2" extends="struts-default">
        <action name="my" class="action. MyAction" method="my"></action>
        <action name="test" class="action. MyAction"></action>
    </package>
</struts>

名为my的action执行action.MyAction类中的my方法,名为test的action执行action.MyAction类中的execute方法(method="execute"默认被省略)。

3.< global-results >

很多时候一个给很多使用,这时可以使用<global-results>标签来定义全局的,如果中没有相应的,Struts2就会使用全局的

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="struts2" extends="struts-default">
        <global-results>
            <result name="success">/success.jsp</result>
        </global-results>
        <action name="my" class="action. MyAction" method="my"></action>
    </package>
</struts>

4.< constant >

所有在struts.properties文件中定义的属性都可以配置在struts.xml中

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <!--设置开发模式-->
    <constant name="struts.devMode" value="true"/>
    <!--设置编码形式为UTF-8-->
    <constant name="struts.i18n.encoding" value="UTF-8"/>
    <!--省略其他配置信息-->
</struts>

标签: Struts2

相关文章推荐: