这是我的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;
}
答案 0 :(得分:2)
首先,您的srtuts.xml
文件未完全定义应在动作执行的响应中呈现的结果类型。result
标记在Struts2 MVC框架中扮演视图的角色。该操作负责执行业务逻辑。执行业务逻辑后的下一步是使用标记显示视图。
在这里你可以做一件事
<package name="ajax" extends="json-default" >
<action name="loadcity" method="loadcity" class="roseindia.action.user.RegisterUser" >
<result name="input" type="json" />
</action>
</package>
答案 1 :(得分:1)
如果您正在执行POST请求,validation
拦截器可能会返回INPUT
结果。通常,您已完成向操作配置添加"input"
结果,但只要您返回"json"
结果,就可以从验证中排除此操作,或者检查返回到结果类型或状态代码的结果。调用者处理内容。
答案 2 :(得分: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