Action的自定义方法

来源:互联网 发布:遗传算法基本原理 编辑:程序博客网 时间:2024/06/07 11:11

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>

必须用在标签中。

  • 使用通配符配置Action
    参考这篇文章
原创粉丝点击