1

監査を受けるための Web アプリケーションがあります。1 つのアクションを除いて、すべて正常に動作します。割り当てられた各監査のユーザーと場所を入力するための JSP フォームが送信されない

Windows7 マシンの Firefox ブラウザから (セーフ モードでも) 実行すると、問題なく動作します。私のマシンで他のマシンまたは他のブラウザー (Google Chrome) を使用すると、アクションは実行されず、リダイレクトされるだけです。その特定のメソッドの eclipse にブレークポイントを設定したところ、Windows7/Firefox からアクセスしない限りヒットしないことがわかりました。

この動作には何らかの理由が考えられますか? どうすれば修正できますか?

ソース:

audit.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="com.hereafter.audit.ui.servlet" namespace="/audit"
    extends="struts-default,json-default">

....

    <action name="*Audit" class="com.hereafter.audit.ui.servlet.AuditAction" method="{1}">      
        <result name="success" type="redirectAction">               
            <param name="actionName">jspAudit</param>
            <param name="namespace">/audit</param>
        </result>
        <result name="message">/audit/pages/template/Message.jsp</result>
    </action>

....

</package>
</struts>

AssignAudit.jsp

<%@ taglib prefix="s" uri="/struts-tags"%>


    <form id="AuditAssignForm" action="assignAudit.action" method="post">
        <div >
            <h5>Instruction Details</h5>
            <label>Users :</label>
            <s:select id="user-multiselect" name="assignment.userList"
                cssClass="input-xlarge" multiple="multiple" list="userList"
                listKey="userID" listValue="userName"></s:select>                

            <label>Start Time :</label>
            <div id="datetimeStartTime" class="input-append date">
                <input data-format="dd/MM/yyyy hh:mm:ss"
                    name="assignment.scheduleInformation.timeStart" type="text"
                    class="input-large"></input> <span class="add-on"> <i
                    data-time-icon="icon-time" data-date-icon="icon-calendar"> </i>
                </span>
            </div>

            <label>End Time</label>
            <div id="datetimeEndTime" class="input-append date">
                <input data-format="dd/MM/yyyy hh:mm:ss"
                    name="assignment.scheduleInformation.timeEnd" type="text"
                    class="input-large"></input> <span class="add-on"> <i
                    data-time-icon="icon-time" data-date-icon="icon-calendar"> </i>
                </span>
            </div>

            <label>Events</label>
            <s:select id="event-drop-down" cssClass="input-xlarge"
                list="eventList" listKey="eventID" listValue="eventName"></s:select>
            <label>Audit Type</label> <select name="assignment.auditType">
                <option value="LIVE">LIVE VIEW</option>
                <option value="RECORDED">RECORDED</option>
            </select>


            <div>
                <button id="assign-audit-button" class="btn btn-primary"
                    type="submit">
                    <i class="icon-save"></i> Save
                </button>
                <a href="#myModal" data-toggle="modal" class="btn">Cancel</a>
                <div class="btn-group"></div>
            </div>
        </div>
        <div class="block span6">
            <div class="block-heading">
                <a>Locations</a>
            </div>
            <div class="block-body"
                style="min-height: 250px; height: 350px; overflow: auto;">
                <div id="location-tree"></div>
                <div class="clearfix"></div>
            </div>
        </div>
        <s:hidden name="audit.id"></s:hidden>
    </form>
</div>

4

2 に答える 2

0

お使いのブラウザでは動作するが、他のブラウザでは動作せず、他のマシンのどのブラウザでも動作しない場合は、ブラウザの設定に関連している必要があります。Chrome のネットワーク/プロキシ設定を注意深く確認し、マシンの別のブラウザに適用してみてください。

機能しない場合は、1) 有効devModeにして例外またはエラー メッセージを探し、2) Chrome DevTools とのネットワーク通信を確認してから、送信された要求 (ヘッダー、パラメーター) を、動作していないブラウザーで送信されたものと比較します。 Firefox DevTools または Firebug を備えた Firefox。

于 2014-10-22T08:42:15.070 に答える
0

フォームが機能しない理由は、Struts アクションに適切にマップされていないためです。

タグを使用s:formして、アクションにヒットするかどうかを確認できます。

おそらくあなたのデザインを損なうでしょうがsimple、フォームでテーマを試すことができます:

<s:form id="AuditAssignForm" namespace="/audit" action="assignAudit" method="POST" theme="simple">
于 2014-10-22T09:15:28.497 に答える