Нет результата, определенного для действия и результата ввода
Я использую Struts2
Я получаю ошибку, поскольку результат не определяется для результата действия и результата
<action name="update" method="updatePhase" class="Project">
<result name="updated">/Project.jsp</result>
</action>
Мое действие не переходит к моему классу java.
Кто-нибудь может мне помочь?
Ответы
Ответ 1
Сообщение об ошибке означает, что результат с именем input
не был определен для вашего действия. Результат input
- результат по умолчанию, возвращаемый Struts, когда есть проблема с проверкой параметров, переданных действию. Таким образом, я рекомендую проверить и убедиться, что параметры, которые вы передаете из своей HTML-формы, соответствуют параметрам вашего действия. Проверьте орфографию, типы данных и т.д.
Ответ 2
У меня была такая же ошибка, и я изменил файл struts.xml
from
<action name="Registeration101" class="Registeration101">
<result name="success">pages/inputform.jsp</result>
<result name="done">pages/quoteSuccess.jsp</result>
</action>
to
<action name="Registeration101" class="Registeration101">
<result name="success">pages/inputform.jsp</result>
<result name="input">pages/inputform.jsp</result>
<result name="done">pages/quoteSuccess.jsp</result>
</action>
в основном результат name= "enter" не определен
Ответ 3
Предположим, что вы пришли из x.jsp.
Несколько раз, когда вы добавляете аннотацию проверки в свой класс bean, вы используете в своем действии и не предоставляете
x.jsp, исключение исключается.
Если вы не хотите проверять ввод, просто удалите аннотацию проверки из класса bean.
Ответ 4
Наиболее распространенным случаем является наличие условного плагина. Посмотрите на что-нибудь с "конвенцией" в нем и удалите это. Ниже будет приведено более подробное описание.
Ответ 5
Одним из решений является указание результата с именем "enter" для действия. Вот как я решил свою проблему с помощью аннотации.
До:
@Action(value = "sendFeedback", results = {
@Result(name = SUCCESS,type = "json"),
@Result(name = ERROR,type = "json")})
После:
@Action(value = "sendFeedback", results = {
@Result(name = SUCCESS,type = "json"),
@Result(name = INPUT, type = "json"),
@Result(name = ERROR,type = "json")})
Ответ 6
<action name="update" method="updatePhase" class="Project">
<result name="updated">/Project.jsp</result>
<result name="input">/Project.jsp</result> <!-- add input return type as well in your struts.xml -->
</action>
Как правило, ваш execute()/updatePhase() в контроллере возвращается, если все идет хорошо.
Но есть и другие типы возвратов, которые будут заботиться о стойках.
Вы можете обрабатывать его вручную, игнорируя возвращаемые значения и соответствующие
<result name="yourReturnValue">/Project.jsp</result>
Внутри соответствующего тега.
Надеюсь, теперь это ясно.
Ответ 7
Простой ответ - случается, когда вы вводите неверный ввод.
Например, если у вас есть поле с именем "firstName", которое имеет тип char, и если вы указали неверный ввод (например, int)
Ответ 8
Если вы переопределили метод проверки в своем файле класса (class= "project" в вашем случае), то для этого требуются необходимые входные значения, которые вы используете в методе проверки.
Вы можете либо передать необходимые значения, либо изменить некоторые проверки в методе проверки.
Ответ 9
Думаю, вам нужно дать полное имя под тегом class=""
в struts.xml
. затем
он начнет передавать ваше действие.
Ответ 10
Имя результата в Action и struts.xml должно быть равно. Тем не менее, если вы получаете эту ошибку, это может быть проблема с файлом jar. Попробуйте добавить этот файл jar в свою библиотеку: javassist-3.9.0.GA.jar
.