struts2-action指定业务的调用

本文详细介绍了在Struts框架中如何通过不同方式调用Action的方法,包括直接调用、动态方法调用及使用通配符的方式,并展示了具体的配置与实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Action中指定业务的调用

public class UserAction {
    //一定要给private属性创建getter/setter方法
    private String username;
    private String password;
    private String msg;
    //不指定方法名时执行execute()方法
    public String execute(){
        System.out.println("12用户名是"+username);
        System.out.println("12密码是"+password);
        if(username.equals("jack") && password.equals("123")  ){
            msg="登录成功";
            return "success";
        }else{
            msg="登录失败";
            return "error";
        }

    }

   public String add(){
        System.out.println("添加方法");

    }
...


}
1.直接调用方法
<struts>
 <package name="default" namespace="/" extends="struts-default">    
    <action name="login" class="com.cn.action.UserAction">
        <result name="success">/login.jsp</result>
        <result name="error">/login.jsp</result>
    </action>
 </package>
</struts>

调用

    <form action="add.action" method="post">
        username:<input type="text" name="username"/>${msg }<br/>
        password:<input type="text" name="password"/><br/>
        <input type="submit" value="submit"/>
    </form>
2.动态方法调用
<struts>
<!--  开启动态方法 -->
 <constant name="struts.enable.DynamicMethodInvocation" value="true"/> 
 <package name="default" namespace="/" extends="struts-default">    
    <action name="userManage" class="com.cn.action.UserAction">
        <result name="success">/login.jsp</result>
        <result name="error">/login.jsp</result>
    </action>
 </package>
</struts>

调用

    <form action="userManage!add.action" method="post">
        username:<input type="text" name="username"/>${msg }<br/>
        password:<input type="text" name="password"/><br/>
        <input type="submit" value="submit"/>
    </form>
3.使用通配符
<struts>
<!--  开启动态方法 -->
 <constant name="struts.enable.DynamicMethodInvocation" value="true"/> 
 <package name="default" namespace="/" extends="struts-default">    
    <action name="userManage_*" class="com.cn.action.UserAction" method={1}>
        <result name="{1}">/{1}.jsp</result>
    </action>
 </package>
</struts>

调用

    <form action="userManage_add.action" method="post">
        username:<input type="text" name="username"/>${msg }<br/>
        password:<input type="text" name="password"/><br/>
        <input type="submit" value="submit"/>
    </form>

action的请求转发与重定向

请求转发
<result name="success" type="dispatcher">/index.jsp</result>
重定向
<result name="success" type="redirectAction">
    <param name="actionName">userManage</param>
    <param name="method">add</param>
</result>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值