我刚开始使用我的第一个 Struts 2 项目,目前正在使用注册操作。
注册进展顺利,除非您Register.action
直接从 url 访问,当您这样做时,类变量没有被实例化(例如String password
),并且在使用它们时我得到空指针异常。Register.action
是处理register.jsp
表单的动作。
有没有办法阻止用户在Register.action
没有来自的情况下访问register.jsp
?还是我需要对所有内容进行空检查?
您可以使用验证功能来验证所需的变量http://struts.apache.org/2.x/docs/validation.html。
首先,您不应该直接访问 JSP 页面,除非在极少数情况下,使用 MVC 框架时:所有活动都应该通过一个动作发生。
其次,正如 Aleksandr 所说,验证应该通过框架处理,可以通过 XML、注释或基于 Java 的方式。在这种情况下,直接访问处理操作会导致验证失败,因为用户名/密码字段是必需的。
一旦验证失败(取决于您的配置,例如),框架将转发到"input"
结果,可能是注册 JSP 页面。