我有一个A类:
class A extends ActionSupport{
int someId;
// getters/setters
public String execute(){
setSomeId(2);
return SUCCESS;
}
public String save(){
// something
}
}
在struts.xml
中,我配置了一个操作“ViewId
”,它将我们带到默认方法execute
,其中设置了someId
。然后,我们将转到jsp页面show.jsp
,在那里我可以访问someId
值。在show.jsp中,我必须输入一个电子邮件ID,然后提交页面。现在在“Save
”中调用的操作将我们带到动作类的save方法。但是,我在相应的validation.xml文件A-Save-validation.xml
中进行了一些检查,该文件将检查为格式输入的电子邮件。问题是如果xml验证失败,我们将返回show.jsp,但viewId参数现在不可用。为什么会这样?
输入页面应与之前的用户类似。只有现在验证的字段应该有与之关联的错误页面。对此有何解决方法?
答案 0 :(得分:1)
就像@Umesh所说,验证发生在相应的interecptor上,之前调用了action的方法。
当验证失败时,永远不会调用操作的方法,您将进入INPUT结果。
为了达到你想要的效果,你有一些选择:
1可能是最简单的。我也喜欢选项3。