Struts 2中是否在服务器端运行验证过程?

时间:2014-03-13 12:04:20

标签: validation struts2

我对Struts很新,我对Struts中的验证概念感到困惑。 ActionSupport类提供用于验证表单的验证方法。但这个过程不是在服务器端工作吗?

如果是,则验证概念失败。

public void validate(){}

2 个答案:

答案 0 :(得分:3)

问题不明确。

是的,操作的validate()方法显然会在服务器端验证。

这是一件好事,因为无论是否发生任何客户端验证,都必须在服务器端验证数据 。考虑(a)禁用JavaScript的用户,以及(b)不通过浏览器制作的手工制作请求。而(a)越来越多 不常见的,(b)是一种合法的危险。

您不能仅依赖于JS验证。

答案 1 :(得分:0)

  

这个过程不能在服务器端运行吗?

当然,它是服务器端的验证。默认情况下,Struts 2配置为使用编程验证,而不管声明性方式。两者都是服务器端,Struts2也有一个使用javascript的客户端验证。如果您使用验证,这是正确的事情 客户端和服务器端。

如果您的操作类扩展为ActionSupport,则可以覆盖validate()方法以使用框架使用的编程验证方法。在方法体中,您可以实现自定义逻辑来验证字段。 Ť

validate()拦截器调用了validation方法,它是默认拦截器堆栈defaultStack的一部分。

该操作应提供INPUT结果以返回操作错误或字段错误。

您可以在此链接中找到有关使用validation interceptor进行编程验证的详细信息。