Struts2 没有为操作和结果输入定义结果

Struts2 没有为操作和结果输入定义结果,struts2,Struts2,我正在使用Struts2 由于没有为操作和结果输入定义结果,我得到了错误 /Project.jsp 我的操作没有传递到java类 有人能帮我吗?错误消息表示尚未为您的操作定义名为input的结果。结果input是在验证传递给操作的参数时出现问题时Struts返回的默认结果。因此,我建议检查并确保从HTML表单传递的参数与操作的参数匹配。检查拼写、数据类型等。我认为您必须在struts.xml中的标签class=”“下提供完全限定的名称。然后 它将开始通过你的行动 一种解决方案是为操作指定一个

我正在使用Struts2

由于没有为操作和结果输入定义结果,我得到了错误


/Project.jsp
我的操作没有传递到java类


有人能帮我吗?

错误消息表示尚未为您的操作定义名为
input
的结果。结果
input
是在验证传递给操作的参数时出现问题时Struts返回的默认结果。因此,我建议检查并确保从HTML表单传递的参数与操作的参数匹配。检查拼写、数据类型等。

我认为您必须在
struts.xml
中的标签
class=”“
下提供完全限定的名称。然后
它将开始通过你的行动

一种解决方案是为操作指定一个名为“input”的结果。这就是我通过注释解决问题的方法

之前:

@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")})

我也犯了同样的错误,我更改了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>
来自
pages/inputform.jsp
pages/quoteSuccess.jsp
到
pages/inputform.jsp
pages/inputform.jsp
pages/quoteSuccess.jsp
基本上没有定义result name=“input”

操作中的结果名和struts.xml应该相等。不过,如果您遇到此错误,可能是jar文件问题。尝试将此jar文件添加到您的库中:
javassist-3.9.0.GA.jar


<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>
/Project.jsp /Project.jsp
通常,如果一切正常,控制器中的execute()/updatebase()将返回更新。 但是struts会注意其他返回类型

您可以通过无视返回值和相应的

<result name="yourReturnValue">/Project.jsp</result> 
/Project.jsp
在相应的标签内


希望现在清楚了。

简单答案-当您提供错误输入时会发生。
例如,如果您有一个名为“firstName”的字段,其类型为char,并且如果您提供了错误的输入(如int)

如果您在类文件(在您的情况下为class=“project”)中重写了validate方法,那么它需要您在validate方法中使用的必要输入值。
您可以传递必要的值,也可以在validate方法中更改一些验证。

假设您来自x.jsp

有时,当您将验证注释放入bean类中时,您在操作中使用了验证注释,而没有提供验证注释 x、 jsp时抛出异常


如果不想验证输入,只需从bean类中删除验证注释

最常见的情况是存在约定插件。寻找任何带有“约定”的东西,然后去掉它。稍后将有更详细的说明。

此外,请确保您没有定义一个具有相同id的输入,我期待更详细的说明。