Доступ к действию Struts2 осуществляется ровно одной комбинацией компьютера/браузера

У меня есть веб-приложение для проведения аудитов. Все работает нормально кроме одного действия. Форма JSP для ввода пользователей и местоположения для каждого назначенного аудита не отправлена

Он работает без сбоев при запуске из браузера Firefox на моем компьютере с Windows 7 (в том числе и в безопасном режиме). При использовании других компьютеров или других браузеров (Google Chrome) на моем компьютере действие не выполняется, а просто перенаправляется. Я поставил точку останова в eclipse для этого конкретного метода и обнаружил, что он не срабатывает, если к нему не обращаются из моего Windows7/Firefox.

Может ли быть какая-то возможная причина такого поведения? Как я могу это исправить?

Источник:

аудит.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>


person Abdul Wadhood Rehman    schedule 22.10.2014    source источник
comment
Покажите свой JSP, где вы используете это действие.   -  person Aleksandr M    schedule 22.10.2014
comment
@AleksandrM отредактировал вопрос, добавив jsp   -  person Abdul Wadhood Rehman    schedule 22.10.2014
comment
Попробуйте использовать обычный ввод вместо кнопки.   -  person Aleksandr M    schedule 22.10.2014
comment
@AleksandrM спасибо, сейчас попробовал. Но результаты такие же.   -  person Abdul Wadhood Rehman    schedule 22.10.2014


Ответы (2)


Если он работает в вашем браузере, но не работает в других браузерах, и не работает в любом браузере на других машинах, включая тот, который работает на вашем, то это должен быть браузер -Настройки связанные. Внимательно проверьте настройки сети/прокси вашего Chrome и попробуйте применить их к другому браузеру на вашем компьютере.

Если это не работает, 1) включите devMode и найдите исключения или сообщения об ошибках, и 2) проверьте сетевое соединение с помощью Chrome DevTools, затем сравните отправленный запрос (заголовки, параметры) с запросом, отправленным при неработающем браузере, например, Firefox с Firefox DevTools или Firebug.

person Andrea Ligios    schedule 22.10.2014
comment
И что ? Какой-либо прогресс ? - person Andrea Ligios; 23.10.2014

Причина, по которой форма не работает, заключается в том, что она неправильно сопоставляется с действием Struts.

Вы можете использовать тег s:form и проверить, попадает ли он в действие.

Возможно, это повредит вашему дизайну, но вы можете попробовать тему simple на форме:

<s:form id="AuditAssignForm" namespace="/audit" action="assignAudit" method="POST" theme="simple">
person Roman C    schedule 22.10.2014