【发布时间】:2012-11-02 23:22:07
【问题描述】:
我一直在尝试制作一个 java 项目。它使用 Struts 2 标签。有一个按钮Update,只要点击它,它就会更新数据库中的值。
但我收到此错误:
没有为操作 com.comviva.im.ui.action.sysadmin.CUGAction 和结果输入定义结果
【问题讨论】:
标签: java struts2 type-conversion struts2-interceptors interceptorstack
我一直在尝试制作一个 java 项目。它使用 Struts 2 标签。有一个按钮Update,只要点击它,它就会更新数据库中的值。
但我收到此错误:
没有为操作 com.comviva.im.ui.action.sysadmin.CUGAction 和结果输入定义结果
【问题讨论】:
标签: java struts2 type-conversion struts2-interceptors interceptorstack
没有为操作定义结果 com.comviva.im.ui.action.sysadmin.CUGAction 和结果输入
这意味着您在 Struts.xml 中缺少此操作的 input 结果的映射
标准工作流程
JSP -> 拦截器栈 -> 动作
在到达 Action 之前中断,很可能是由 ConversionError 拦截器(例如,将字符串发送到 Integer)造成的,并且它甚至在到达 Action 之前就返回了。
阅读更多Struts2 INPUT result: how does it work? How are conversion / validation errors handled?
当它试图回来时,它找不到去哪里。
所以你必须定义一个input 结果类型:
<action name="CUGAction" class="com.comviva.im.ui.action.sysadmin.CUGAction">
<result name="success">/your.jsp</result>
<result name="input">/your.jsp</result>
</action>
然后在你的 JSP 中打印出错误with <s:fielderror /> 和with <s:actionerrors />,并尝试找出发生了什么。
【讨论】:
Likewise if the name attribute is not specified, the framework will give it the name "success".struts.apache.org/2.x/docs/result-configuration.html