【问题标题】:How to recognize redirect and submit in struts action如何在struts动作中识别重定向和提交
【发布时间】:2010-07-21 18:00:11
【问题描述】:

我的网站使用支柱和瓷砖。 我使用此链接链接到注册表:

<a href='<s:url action="register" namespace="/vtv"  />' >Register</a>

这里是 register.jsp:

<s:form namespace="/vtv" action="register">
        <s:textfield label="Username" name="username" />
        <s:textfield label="Password" name="password" />
</s:form>

在行动中,我插入用户:

public String execute() {
    String retVal = ERROR;
    try {
            MemberDAO.InsertUser(mo);
            retVal = SUCCESS;
        }
    } catch (Exception e) {
        retVal = ERROR;
    }
    return retVal;
}

在瓦片文件中,我定义:

<definition name="vtv.register" extends="basic">
    <put-attribute name="content" value="/modules/register/register.jsp" />
</definition>

在struts文件中:

    <package name="Register" namespace="/vtv" extends="struts-default">
    <result-types>
        <result-type name="tiles"
                     class="org.apache.struts2.views.tiles.TilesResult" />
    </result-types>
    <action name="register" class="vtv.action.RegisterAction">
        <result name="success" type="tiles">vtv.register</result>
        <result name="error" type="tiles">vtv.error</result>
    </action>
</package>

我的问题是如何使用链接重定向到注册页面

<a href='<s:url action="register" namespace="/vtv"  />' >Register</a>

不执行实际操作?我怎么知道这是重定向还是提交?

【问题讨论】:

    标签: redirect struts2 struts submit struts-action


    【解决方案1】:

    &lt;s:url&gt; 标签中,您可以指定要在 RegisterAction 中调用的特定方法:

    <s:url action="register" method="yourRedirectMethodName" namespace="/vtv"  />
    

    然后在您的操作中定义:

    public String yourRedirectMethodName() {
        // Redirect logic
        return SUCCESS;
    }
    

    这样表单提交将调用execute(),而上面的链接将调用yourRedirectMethodName()。

    【讨论】:

    • struts 中是否有像 Asp.net 这样的 IsPostBack 变量?
    • 我不知道,但我想到的另一件事是,您可以检查是否设置了 Action 的表单属性。如果是,则为表单提交。如果不是,则为来自链接的重定向。
    猜你喜欢
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多