Struts2.0 默认提供了 simple,xhtml,css_xhtml,ajax  几个模板主题, 但对于 simple 不支持客户端的js验证.
对 simple 和xhtml 下的几个文件进行了修改,
在自己的项目下创建了个template/simple 目录,将修改后的几个文件 form.ftl, form-close.ftl,form-close-validate.ftl ,form-validate.ftl 放到该目录下,并将 xhtml下的 theme.properties 和 validation.js 文件也copy到该目录下,
修改  theme.properties  里面的内容为 parent = simple . 这样将来就可以 继续扩展simple模板主题 ,写自己的 ftl 文件.
并同时使得simple的主题具有了客户端验证的功能.
         另外,有些人也可能遇到过 即使使用xhtml 主题 设置了 form中的 validate="true"  也不能进行客户端验证.
这里就要注意几个问题:
通过浏览 form-close-validate.ftl 这个文件
我们发现 <#if ((parameters.validate?default(false) == true) && (parameters.performValidation?default(false) == true))>
这句代码, 里面还有一个条件就是 parameters.performValidation?default(false) == true ,只有它也成立的时候,验证才有效.
通过跟踪代码 org.apache.struts2.components.Form.java 类 中有个
private void evaluateClientSideJsEnablement(String actionName, String namespace, String actionMethod) 方法,
里面有一句 ActionConfig actionConfig = runtimeConfiguration.getActionConfig(namespace, actionName);
如果 actionConfig  返回null 那么它的下面的执行拦截的处理 就不会执行,performValidation 还是为false.
所以我们关键是要正确的 设置 namespace, actionName 这两个参数, 反映到 struts form 标签 中就是要正确的设置 namespace 和action 两个参数, 其中action 不能 设置成 yourActionName.action  这中格式, 只能采用 yourActionName 或着yourActionName!methodName 或者 yourActionName!methodName.action 这种格式.

Java代码

Java代码

[align=left][/align]

转载于:https://blog.51cto.com/gswxr/716005

Struts2.0下的客户端验证相关推荐

  1. [jQuery]使用jQuery.Validate进行客户端验证(高级篇-下)——不使用微软验证控件的理由...

    2019独角兽企业重金招聘Python工程师标准>>> 引用源:http://www.cnblogs.com/kyo-yo/archive/2010/07/06/Use-jQuery ...

  2. RFC8705-OAuth 2.0双向TLS客户端身份验证和证书绑定访问令牌

    RFC8705-OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens 目录 摘要 1. 简介(I ...

  3. Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法

    Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法如下: 1.打开"gFTP-FTP-属性-常规-远程字符集": 2.将远程字符集设置为:gb2312,gbk ...

  4. ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)

    ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需要将相应的ValidationAttri ...

  5. 提交客户端证书_MQTT X v1.3.3 正式发布 - 跨平台 MQTT 5.0 桌面测试客户端

    MQTT X 是由全球领先的开源物联网中间件提供商 EMQ 开源的一款跨平台 MQTT 5.0 桌面测试客户端,它支持 macOS,Linux,Windows.MQTT X 的用户界面借助聊天软件的形 ...

  6. 计算机win10下常用命令验证性实验

    文章目录 计算机win10下常用命令验证性实验 ipconfig ping tracert ARP DHCP netstat DNS cache 计算机win10下常用命令验证性实验 1.需要安装的软 ...

  7. LINUX系统下ORACLE19C客户端安装步骤

    LINUX系统下ORACLE19C客户端安装步骤 服务器系统版本:CentOS 7.4 Oracle客户端安装包(19C版本)下载地址: Instant Client for Linux x86-64 ...

  8. java oauth2登录以及权限_Spring Cloud集成Security OAuth 2.0权限鉴权验证示例

    Spring Cloud集成Security OAuth 2.0权限鉴权验证示例 一.背景说明 目前市场上微服务之间涉及到相互调用的问题,在这个过程中为了验证安全性,需要采用鉴权方式进行管理.目前主流 ...

  9. DockerCompose MongoDB 副本集(集群) (客户端验证密码 - 集群内部使用mongodbKeyfile验证 ) 部署

    本部署MongoDB副本集是没有用其他的配置什么的(例如: mongodb-compass).是最简单的一个 我是为了mongodb的事务才配置的这个副本集,要使用mongodb的事务必须要副本集. ...

最新文章

  1. Matlab与线性代数 -- 矩阵的重组2
  2. IDEA如何解决'File is read-only'的问题
  3. 设计师必备网址 百度MUX
  4. CoCos2D-X-2.1.5在Eclipse中导入HelloCpp项目搭建
  5. 【博客话题】技术生涯中的出与入
  6. 鸿蒙科技与文化,数字阅读 | “华为鸿蒙”:当现代科技遇到古典文化
  7. pulsar基础(六)——namespace的基本操作
  8. 关于Autorun.inf文件
  9. Playframework项目启动后自动停止问题记录
  10. react 打包体积过大_解决 webpack 打包文件体积过大
  11. 在SQL Server中对视图进行增删改
  12. java递归算法的实例最细讲解
  13. 关于计算机信息管理的照片,2021年10月山东计算机科学与技术(原计算机信息管理)专业自考报名需上传电子照片...
  14. c++ 链表快速查找
  15. 约瑟夫问题 pku1012(转自奋斗青春(亚伟)blog)
  16. scp 是我小看了你---基于密钥传输!
  17. python能用来制作游戏吗_python 做游戏开发怎么样?
  18. web前端培训JS 运行机制的梳理
  19. 汇编语言第4周学生总结反馈
  20. 基于Visual Studio2010开发office2010办公自动化应用(12)自定义VisioAddIn插件

热门文章

  1. [NOI2010]航空管制(拓扑排序+贪心)
  2. 剑指offer十九之顺时针打印矩阵
  3. 手游linux服务器时间同步问题
  4. 第18章 多线程----线程同步
  5. 第一行代码读书笔记1+常见错误分析
  6. 破解ERP的使用成本之谜
  7. VB 输入超出文件尾(错误62)(转)
  8. day31 logging 日志模块
  9. 前端路由(一) 路由,hash,history
  10. k8s集群配置使用coredns代替kube-dns