SSH整合之Struts.xml 常用的参数

8 篇文章 0 订阅

Struts.xml常用的参数

1、<include>

利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件。

比如一个购物程序,可以把用户配置、商品配置、订单配置分别放在3个配置文件user.xml、goods.xml和order.xml中,然后在struts.xml中将这3个配置文件引入:

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.3.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.3.dtd">

<struts>

  <package name="cost" namespace="/cost" extends="struts-default">
     <action name="findEmp" class="findEmpAction" method="load">
 <result name="success">login.jsp</result>
     </action>
    </package>

</struts>

2、<constant>

所有在struts.properties文件中定义的属性,都可以配置在struts.xml文件中。而在struts.xml中,是通过<constant>标签来进行配置的:

<?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.3.dtd">

<struts>

<!--设置开发模式-->
 <constant name="struts.devMode" value="true"/> 
<!--设置编码形式为utf-8-->
 <constant name="struts.i18n.encoding" value="utf-8"/> 
<!--省略其他配置信息-->
</struts>

3.<package>

在Struts2框架中是通过包来管理配置信息的.

  <!--name:包名,作为其它包应用本包的标记 
	 extends:通常配置struts.xml的时候,都继承一个名为“struts-default.xml”的包,这是struts2中内置的包,非必须
	 namespace:设置包的命名空间,主要是针对大型项目中Action的管理,更重要的是解决Action重名问题,因为不在同一个命名空间的Action可以使用相同的Action名的,非必须
	 Struts2中如果没有为某个包指定命名空间,该包使用默认的命名空间,默认的命名空间总是""。
         当设置了命名空间为“/”,即指定了包的命名空间为根命名空间时,此时所有根路径下的Action请求都会去这个包中查找对应的资源信息。
         假若前例中路径为http://localhost:8080/login.action则所有http://localhost:8080/*.action都会到设置为根命名空间的包中寻找资源。
         -->
	 <!-- 如果不用namespace,则访问的URL为http://localhost:8080/findEmp.action-->
	  <package name="cost" extends="struts-default">
	 <action name="findEmp" class="findEmpAction" method="load">
	 	<result name="success">index.jsp</result>
	 </action>
	</package> 

        <!-- 如果用namespace,则访问的URL为http://localhost:8080/cost/findEmp.action-->
       <package name="cost" namespace="/cost" extends="struts-default"> 
       <action name="findEmp" class="findEmpAction" method="load">
        <result name="success">index.jsp</result>
     </action>
    </package>


4.<action>与<result>
<package name="cost" namespace="/cost" extends="struts-default">
	 <!-- action中
	    由于使用Spring来管理Action,因此需要通过Spring容器来创建Action,因此class属性指定的是组件ID。
	    name:请求的Action名称
	    class:Action处理类对应具体路径,非必须写
	    method:指定Action中的方法名,如果没有指定method则默认执行Action中的execute方法,非必须写
	    converter:指定Action使用的类型转换器,非必须写
	    -->
	 <action name="findEmp" class="findEmpAction" method="load">
	 	<!-- result中
	 	 name:对应Action返回逻辑视图名称,默认为success,非必须写
		 type:返回结果类型,默认为dispatcher,非必须写
                下面语句意为:返回success,就跳转到index.jsp页面
                -->
	 	<result name="success">index.jsp</result>
	 </action>
	</package>
4.1随着result的增加,struts.xml文件也会随之变得越来越复杂。那么就可以使用通配符来简化配置:

例如下面这个案例:

public class Test {
    public String test1(){
        return "result1";
    }
     
    public String test2(){
        return "result2";
    }
     
    public String test3(){
        return "result3";
    }
}

Struts.xml的配置为:

<package name="cost" namespace="/cost" extends="struts-default">
    <action name="test*" class="findEmpAction"{1}">
        <result name="result{1}">/result{1}.jsp</result>
    </action>
</package>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值