struts2请求逐渐简化处理方式

struts请求方法,一步步简化操作
在web工程下创建两个类
package com.yc.struts.web.action;

public class HelloAction {
    public String login(){
        return "login";
    }
    public String success(){
        return "success";
    }

}


===================================
package com.yc.struts.web.action;

public class MyAction {
    public String fail(){
        return "fail";
    }
    

}
===============================
1.一般方法
    struts.xml中的配置
    <struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <package name="default" namespace="/" extends="struts-default">
        <action name="hello">
            <result name="success" type="">/success.jsp</result>
        </action>
        
    </package>
    </struts>
2.在同一个包下的同一个类中的请求方法
        
        <constant name="struts.enable.DynamicMethodInvocation" value="false" />
        <constant name="struts.devMode" value="true" />
        <action name="login" class="com.yc.struts.web.action.HelloAction" method="login">
            <result  name="login">login.jsp</result>    
        </action>
        <action name="success" class="com.yc.struts.web.action.HelloAction" method="success">
            <result  name="success">success.jsp</result>
        </action>
        index.jsp请求页面
            
        <a href="login.action">跳转到登录页面</a>
        <a href="success.action">跳转到成功页面</a>
        进一步简化
        <!--通过动态处理的方式进行处理:可以处理在同一个请求处理类中
            1.<constant name="struts.enable.DynamicMethodInvocation" value="true" />
            2.请求action,通过请求名!请求处理方法
        -->
         <constant name="struts.enable.DynamicMethodInvocation" value="true" />
        <constant name="struts.devMode" value="true" />
        <action name="hello" class="com.yc.struts.web.action.HelloAction">
            <result  name="login">login.jsp</result>    
            <result  name="login">login.jsp</result>    
        </action>
        index.jsp请求页面
            
        <a href="hello!login.action">跳转到登录页面</a>
        <a href="hello!success.action">跳转到成功页面</a>
        
3.通配符请求方式,请求在同一个包下,不同类中的请求方式
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
        <!-- 通过通配符的方式: *表示任意字符串,取*对应的字符串
            如:    User_login  通配符*_* 取值:{1}==>User {2} ==>login
         -->
         <action name="*_*" class="com.yc.struts.web.action.{1}Action" method="{2}">
            <result  name="login">login.jsp</result>
            <result  name="success">success.jsp</result>
            <result  name="fail">fail.jsp</result>
        </action>
        
        进一步简化操作
             <action name="*_*" class="com.yc.struts.web.action.{1}Action" method="{2}">
            <result  name="{2}">{2}.jsp</result>
            
        </action>
        index.jsp请求页面
        <a href="Hello_login.action">跳转到登录页面</a>
        <a href="Hello_success.action">跳转到成功页面</a>
        <a href="My_fail.action">跳转到失败页面</a>

你可能感兴趣的:(Web,struts2.0)