0

Struts2、タイル、および struts2 用の jQuery プラグインを使用しています。

この答えを探していましたが、どこにも見つかりませんでした。

次のテンプレートがあるとしましょう:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
     <sj:head locale="es" compressed="true" loadAtOnce="true" 
     jqueryui="true" loadFromGoogle="false" 
     jquerytheme="redmond" customBasepath="../themes/"/>    
</head>
<body id="bodyId">
    <div id="outer" class="wrapper">
        <div id="header" >
            <tiles:insertAttribute name="header" />
        </div>
        <div id="nav">
            <tiles:insertAttribute name="menu" />
        </div>
        <div id="usersLabel" class="labelUser">
            <s:text name="common.user" />
            <s:text name="%{#session.user}"></s:text>
        </div>
        <div id="content" >
                <tiles:insertAttribute name="body" />
        </div>      
        <div id="footer">
            <tiles:insertAttribute name="footer" />
        </div>
    </div>
</body>
</html>

そして、<div id="content"></div>私が持っている内部

    <form id="form" action="operation_operation">
        :
        stuff
        :
        <sj:submit id="submit" 
            value="%{getText('common.accept')}" 
            formIds="form" 
            targets="content"
            button="true" />
    </form>

「メイン」div内のコンテンツのみを介してフォームが送信される<sj:submit/>と、これは予想される動作ですが、フォームを再度送信しようとすると、アクションの結果はメインdiv内にリロードされず、代わりににリダイレクトされますアクションの結果(ajaxを使用していない)

これは、ページが初めて(クロムで)レンダリングされたときに表示されるものです。

<input type="submit" id="submit" value="Accept" 
         class="ui-button ui-widget ui-state-default ui-corner-all" 
         role="button" aria-disabled="false">

フォームを送信した後、コンテンツ<div id="content"/>がリロードされますが、送信が変更され、次のように表示されます。

<input type="submit" id="submit" value="Accept" class="">

フォームを再度送信した後、コンテンツ div をリロードする代わりに、結果ページにリダイレクトされました。ajax を使用しない単純なリダイレクトのようなものです。

なぜこれが起こっているのかわかりません:s

コンテンツ divの外側に配置すると <sj:submit>、この div は常に ajax を介してリロードされます。問題は<sj:submit>、div の内側にある場合です。

私のアクションは次のように構成されています:

<action name="operation_*" method="{1}" class="OperationAction">
     <interceptor-ref name="sessionExpireStack" />
     <result name="success" type="tiles">operation</result>
     <result name="input" type="tiles">operation</result>
</action>

テンプレートの定義は次のとおりです。

 <definition name="template"  template="/jsp/common/template.jsp">
    <put-attribute name="title" value="My Application"/>
    <put-attribute name="header" value="/jsp/common/header.jsp" />
    <put-attribute name="menu" value="/jsp/common/menu.jsp" />
    <put-attribute name="body" value="/jsp/common/blank.jsp" />
    <put-attribute name="footer" value="/jsp/common/footer.jsp" />
</definition>
4

0 に答える 0