2016-11-30 9 views
-2

Я следующие фрагменты кодКак найти недостающий параметр или неправильно параметры [Нет результата, определенный для действия и результат ввода] в Struts2

из файла XML

<action name="list-process-solution" class="actions.ProcessSolutionAction" method="listProcessSolutions"> 
    <interceptor-ref name="store"> 
     <param name="operationMode">RETRIEVE</param> 
    </interceptor-ref> 
    <interceptor-ref name="defaultStack"/> 
    <result name="success">process_solution_list.jsp</result> 
    <result name="input">process_solution_list.jsp</result> 
    <result name="error">Error.jsp</result> 
    <result name="login">Login.jsp</result> 
</action> 

<action name="delete-process-solution" class="actions.ProcessSolutionAction" method="crudProcessSolution"> 
    <interceptor-ref name="store"> 
     <param name="operationMode">STORE</param> 
    </interceptor-ref> 
    <interceptor-ref name="defaultStack"/> 
    <result name="success" type="redirectAction"> 
     <param name="actionName">list-process-solution</param> 
     <param name="nsec">${nsec}</param> 
    </result> 
    <result name="error">Error.jsp</result> 
    <result name="login">Login.jsp</result> 
</action> 

После удаления я перенаправление на страницу списка (та же самая страница)

Но Я получаю результат как input Не знаю, где я ошибаюсь.

Я настроил эту ссылку для удаления

<s:url var="varDeletePS" action="delete-process-solution"> 
    <s:param name="nsec"> 
     <s:property value="nsec"/> 
    </s:param> 
    <s:param name="processId"> 
     <s:property value="processId"/> 
    </s:param> 
    <s:param name="opType"> 
     <s:property value="2" /> 
    </s:param> 
</s:url> 
<s:a href="%{varDeletePS}" id="id-delete-PS-link" cssClass="class-delete"> 
    Delete 
</s:a> 

В действии, у меня есть эти поля с добытчиками и сеттеров

private ProcessSolution processSolution; 
private short opType; 
private String nsec; 

для модели ProcessSolution см это link

Мой вопрос:

Как обращаться с именем результата input? Я не знаю, какой параметр неверен?

Обновление: -

Как продолжить с той же просьбой после redirectAction, так что я буду иметь мои параметры запроса?

Как определить, какое поле имеет ошибку?

UPDATE 2:

Мои delete-process-solution выполнения должным образом, но в результате успех и redirectAction к list-process-solution, я получаю результат, как вход

+0

У вас нет 'redirectAction' для результата' input'. Используйте теги '' и/или '' на странице результатов ввода. Вы также можете включить devMode. –

+0

@AleksandrM, я не делаю никаких валидаций для ввода, btw Есть ли способ найти, какое поле имеет проблему с установщиком (установка в моем классе действий) ..? –

+0

plz проверить ОБНОВЛЕНИЕ 2 –

ответ

0

"input" результат возвращается, если у вас есть ошибки проверки. Создайте метод проверки, предваряемый для каждого действия в классе действий, и добавьте результат input в конфигурацию действия.

<result name="input">Login.jsp</result> 

Вы можете иметь ошибки проверки, что приводит INPUT, но действие не выполняется, и сообщение не установлено. Если вы хотите предотвратить действие от проверки, вы можете настроить действие на исключить метод проверки перехватчика или использовать вышеуказанное решение.

До validation перехватчик реализует перехватчик фильтра метода, вы можете это сделать в struts.xml. Или просто добавьте @SkipValidation аннотацию к методу.

@SkipValidation 
public String crudProcessSolution(){//used this method for delete 

//<action name="delete-process-solution" class="actions.ProcessSolutionAction" method="crudProcessSolution"> 
+0

Да, я знаю, что получено имя 'input', но как найти, для которого ** параметр ** У меня проблема ..? ty для ответа –

+0

Я уже, имею эту строку в моем xml ' process_solution_list.jsp' –

+0

параметр тот же, который отправляется в действие, вы заполняете его в действие и его можно найти в JSP из стека значений. –