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