2

这是我的struts.xml

<package name="ajax" extends="json-default" >
    <action name="loadcity"  method="loadcity" class="roseindia.action.user.RegisterUser" >
        <result  type="json" />
    </action>
</package>

当我打电话loadcity.action时,我收到以下错误

No result defined for action roseindia.action.user.RegisterUser and result input

这是我的操作方法:

public String loadcity()
{ 
    country=request.getParameter("country");
  
    cityList=  dao.loadcity(country);
    return ActionSupport.SUCCESS;
}
4

3 回答 3

2

First of all your srtuts.xml file is not completely defining the result type which should be render on the response of you action execution .result tag plays the role of a view in the Struts2 MVC framework. The action is responsible for executing the business logic. The next step after executing the business logic is to display the view using the tag. Here you can do one thing

<package name="ajax" extends="json-default" >
    <action name="loadcity"  method="loadcity" class="roseindia.action.user.RegisterUser" >
        <result name="input" type="json" />
    </action>
</package>
于 2013-02-28T12:49:13.257 回答
1

INPUT如果您的操作有错误,则workflow拦截器会返回结果。在执行您的操作之前,堆栈中的拦截器可能会遇到这些错误。例如,执行验证时可能是验证错误,因为堆栈上有validation拦截器。

您应该将INPUT结果添加到操作配置中。如果您发出 Ajax 请求并期望 JSON 响应,那么您可以返回INPUTtype 的结果"json",您可以在其中添加错误和消息。您还可以调整状态代码。

于 2013-02-27T18:23:39.577 回答
0

您的XML节点result应该有一个name值为的属性,"input"因为这就是您要返回的内容。

所以你的 struts.xml 应该看起来:

<package name="ajax" extends="json-default" >
    <action name="loadcity"  method="loadcity" class="roseindia.action.user.RegisterUser" >
        <result name="input" type="json" />
    </action>
</package>

编辑:

另一个错误可能是:

您正在获得验证或类型转换异常,因此它会查找“输入”结果。

修复验证/类型转换异常。

来源:struts 2 json plugin throws error no result type is defined

于 2013-02-27T18:16:45.670 回答