struts2--(3)--一些小知识--默认action和include标签

1.默认action,在struts2中,可以为所有action请求配置一个默认的action处理类,当该action请求没有找到匹配的action请求后,将会调用默认的action。这时只需要在struts.xml配置文件中做如下配置即可:

<package name="default" namespace="/action" extends="struts-default">
    	<default-action-ref name="input"></default-action-ref>
    	<action name="input" 
    		class="cn.itcast.action.MyAction5"
    		method="execute"
    		>
            <result name="success">
                /WEB-INF/jsp/success1.jsp
            </result>
            <result name="error">
            	/WEB-INF/jsp/error.jsp
            </result>
        </action>
</package>
这时在URL请求地址中输入如下url:

http://localhost:8080/Struts2_002/action/xxxx/sss

        http://localhost:8080/Struts2_002/action/xxxx/

             http://localhost:8080/Struts2_002/action/

它都在struts.xml中对应的namespace的package配置中找不到对应的action,这时它将使用此package配置中的默认action. 即input  action。


      2.include标签,在struts.xml文件中可以使用include标签来包含其它的.xml配置文件,这样有利于并发的模块开发。也有利于配置文件的管理及系统的模块化管理。下面是一个使用此include的示例,在实际项目开发中,struts.xml一般用于配置各模块通用配置及一些系统配置,而其它模块的配置一般采用include方法来包含进来:

<struts>
	<!-- 指定devMode为开发模式,即每修改一处配置后,无须重新发布web应用,即可生效 -->
    <constant name="struts.devMode" value="true" />
      
    <constant name="struts.enable.DynamicMethodInvocation" value="true" /> 
	<include file="login.xml"/>
    <!-- Add packages here -->

</struts>
   login.xml配置如下:

<struts>
	<!-- 指定devMode为开发模式,即每修改一处配置后,无须重新发布web应用,即可生效 -->
    <constant name="struts.devMode" value="true" />
      
    <constant name="struts.enable.DynamicMethodInvocation" value="true" /> 
	<include file="login.xml"/>
	<!-- namespace指定命名空间 -->
    <package name="default" namespace="/action" extends="struts-default">
    	<default-action-ref name="input"></default-action-ref>
    	<action name="input" 
    		class="cn.itcast.action.MyAction5"
    		method="execute"
    		>
            <result name="success">
                /WEB-INF/jsp/success1.jsp
            </result>
            <result name="error">
            	/WEB-INF/jsp/error.jsp
            </result>
        </action>
    	<action name="loginAction" 
    		class="cn.itcast.action.MyAction2"
    		>
            <result name="success">
                /WEB-INF/jsp/success.jsp
            </result>
            <result name="error">
            	/WEB-INF/jsp/error.jsp
            </result>
        </action>
		<!-- 它是一个通用的action,*为通配符,当从浏览器地址栏解析uri地址,并通过namespace解析
			获取到了对应的action名称后,将在struts中查询对应的配置。找到后将调转到result指定的
			显示页面。 -->
        <action name="*Action">
            <result>
                /WEB-INF/jsp/{1}.jsp
            </result>
        </action>
    </package>


    <!-- Add packages here -->

</struts>



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值