我使用 affuse 框架创建了 Action 类和 jsp。但问题是,当我使用重定向时,例如,当我们按 jsp 中的添加按钮时,fReleaseList.jsp 重定向到操作类是 FReleaseAction.java 并初始化实例变量“fRelease”并重定向到 fReleaseForm.jsp,当按下保存按钮时,它重新重定向到同一个 Action 类 FReleaseAction.java 中的“fRelease”变量将为 null。配置文件如下,
/WEB-INF/pages/fReleaseList.jsp
<action name="editFRelease" class="com.vxl.appanalytix.webapp.action.FReleaseAction" method="edit">
<result>/WEB-INF/pages/fReleaseForm.jsp</result>
<result name="error">/WEB-INF/pages/fReleaseList.jsp</result>
</action>
<action name="saveFRelease" class="com.vxl.appanalytix.webapp.action.FReleaseAction" method="save">
<result name="input">WEB-INF/pages/fReleaseForm.jsp</result>
<result name="cancel" type="redirectAction">fReleases</result>
<result name="delete" type="redirectAction">fReleases</result>
<result name="success" type="redirectAction">fReleases</result>
</action>
<!--FReleaseAction-END-->
最佳答案
是的。除非您在表单中使用该变量,否则 Struts 不会发回该值。 为了将值发送回来,您需要在jsp页面中设置HiddenVariable
简单来说,如果你有这样的文本框 当生成JSP页面时,struts会生成一个隐藏变量,当您提交表单时,隐藏变量数据将被转换并存储/映射到Bean数据。
如果您没有在jsp页面中使用Bean变量,Struts不会为此生成隐藏变量类型,因此当它进入Action类时,它将创建新的bean,并且不会设置旧的bean数据。
关于java - Struts 从操作重定向到 Jsp,然后再次返回到同一操作类,出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17740349/