我试图确保当一个动作被调用时,给出了期望的参数(如显示用户配置文件我想确保参数包含用户ID:viewUser.action?userId = 1 should工作很好,但viewUser.action应该重定向到一个错误页面)struts2准备和验证
所以我创建了一个验证xml,指定userId字段不能为空。一切正常。
但现在,在prepare()上,我使用userId做了一些前期工作。 事实上,在验证拦截器之前调用准备拦截器,所以如果userId为null,那么我有一个很好的nullPointerException,并且不会调用验证,因为之前发生错误。 我知道我可以切换拦截器的顺序,但我不想。
所以我的问题是: 我是否应该使用prepare()方法中的参数?有没有其他方法可以解决这个问题?
感谢和抱歉,我的英语不好:(
所以我会有params => prepare => params =>验证。但是如果idUser为空,我仍然会在使用idUser时遇到问题。 – Estragon 2012-04-27 09:30:11
@Estragon你不能检查它是否为空?或者你使用它的业务逻辑没有做任何理智检查? – 2012-04-27 10:06:58
当然,我检查所有的输入,但我不相信准备是检查的地方,验证系统应该更好,手动检查准备/业务功能...另外我真的不知道如何反应,如果参数为null准备 – Estragon 2012-04-27 10:09:41