java - Struts 从操作重定向到 Jsp,然后再次返回到同一操作类,出现空指针异常

标签 java jsp struts

我使用 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/

相关文章:

Java从多个数组中删除重复项

java - 如何实际从jsp获取多个值到ArrayList

java - 问题包括 JSP 文件

java - JSP 应重定向到新窗口或选项卡中的动态 URL

java - 如何修复或处理部署在 Apache Tomcat 7.0.41 中的 Java Struts 1.3 应用程序中的 File Reaper 线程内存泄漏问题?

java - 我如何将值从 javascript 传递到 struts2 中的 java 类?

java - JTree的动态初始化

java - 封装到底是什么?

java - 有没有办法从现有代码库生成 checkstyle 的 supressions.xml 文件?

java - 如何解决MySQLSyntaxErrorException异常?