2014-10-22 28 views
1

我有用於進行審計的Web應用程序。除了一個動作之外,一切正常。沒有提交用於輸入用戶的JSP表單和每個審覈分配的位置Struts2操作只能通過一臺機器/瀏覽器組合訪問

從我的Windows7機器的Firefox瀏覽器(安全模式下)執行時,它沒有任何缺陷。在我的機器上使用其他機器或其他瀏覽器(谷歌瀏覽器)時,操作不會執行,而只是重定向。我在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> 

+0

顯示你的JSP在哪裏使用這個動作。 – 2014-10-22 07:36:00

+0

@AleksandrM編輯的問題添加jsp – 2014-10-22 07:41:12

+0

嘗試使用正常的提交輸入,而不是按鈕。 – 2014-10-22 07:43:31

回答

0

如果它在你的瀏覽器,但它並沒有在其他瀏覽器,並且在其他任何瀏覽器中都不起作用中文,包括在你工作的那個,那麼它必須是與瀏覽器設置相關的。仔細檢查Chrome的網絡/代理設置,然後嘗試將它們應用到計算機中的其他瀏覽器。

如果不起作用,1)啓用devMode並查找異常或錯誤消息,以及2)檢查與Chrome DevTools的網絡通信,然後將發送的請求(標​​頭,參數)與發送的請求瀏覽器無法正常工作,例如Firefox與Firefox DevTools或Firebug。

+0

那又如何?任何進展 ? – 2014-10-23 15:31:51

0

表單不起作用的原因是它沒有正確映射到Struts操作。您可以使用s:form標記並檢查它是否觸及該操作。這可能會傷害你的設計,但你可以嘗試一個simple主題的表格

<s:form id="AuditAssignForm" namespace="/audit" action="assignAudit" method="POST" theme="simple">