Action的自定义方法

Action的自定义方法

自定义方法的调用方式:
1. 在struts.xml文件中通过method属性指定方法名
2. 使用动态方法调用方式(DMI)
3. 使用提交按钮的method属性
4. 使用通配符配置Action

  • 在struts.xml文件中通过method属性指定方法名
    1. name - 配置包时必须指定name属性,如果其他包要继承该包,必须通过该属性进行引用,name属性值不能有相同 。
    2. namespace - 包的namespace属性用于定义该包的命名空间。
    3. extends - 通常每个包都应该继承struts-default包, struts-default包是由struts内置的,它定义了struts2内部的众多拦截器和Result类型。
    //UserAction.java
    public String login() {
        UserService userService = new UserService();
        if (userService.login(loginUser)) {
            return "success";
        }
        return "fail";
    }

    public String register() {
        UserService userService = new UserService();
        if (userService.register(loginUser)) {
            return "registerSuccess";
        }
        return "registerFail";
    }
    <!--struts.xml-->
    <package name="strutsBean" extends="struts-default" namespace="/">
        <action name="login" class="cn.edu.zjut.action.UserAction" method="login">
            <result name="success">/loginSuccess.jsp</result>
            <result name="fail">/loginFail.jsp</result>
        </action>
        <action name="register" class="cn.edu.zjut.action.UserAction" method="register">
            <result name="registerSuccess">/regSuccess.jsp</result>
            <result name="registerFail">/regFail.jsp</result>
        </action>
    </package>
    <%--login.jsp--%>
    <form action="user" method="login">
        请输入用户名:<input type="text" name="loginUser.account"/><br>
        请输入密码:<input type="password" name="loginUser.password"/><br>
        <input type="submit" value="登陆">
    </form>
  • 使用动态方法调用方式(DMI)
    • 可以在url地址中动态调用Action方法

UserAction.java与上同

    <!--struts.xml-->
    <struts>
        <constant name="struts.enable.DynamicMethodInvocation" value="true" />
        <package name="strutsBean" extends="struts-default" namespace="/">
            <action name="user" class="cn.edu.zjut.action.UserAction">
                <result name="success">/loginSuccess.jsp</result>
                <result name="fail">/loginFail.jsp</result>
                <result name="registerSuccess">/regSuccess.jsp</result>
                <result name="registerFail">/regFail.jsp</result>
            </action>
        </package>
    </struts>
    <%--login.jsp--%>
    <form action="<%=path%>/user!login" method="post">
        请输入用户名:<input type="text" name="loginUser.account"/><br>
        请输入密码:<input type="password" name="loginUser.password"/><br>
        <input type="submit" value="登陆">
    </form>
  • 使用提交按钮的method属性
    UserAction.java和struts.xml与DMI方式相同
    <%--login.jsp--%>
    <s:form action="user" method="post">
        <s:textfield name="loginUser.account" key="login.account.label"/>
        <s:password name="loginUser.password" key="login.password.label"/>
        <s:submit name="submit" key="login.submit.button" method="login"/>
    </s:form>

必须用在标签中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值