转载请注意出处:http://blog.csdn.net/bettarwang/article/details/39801733

我们知道,假设要为某个Action指定校验文件。那么就要将"Action名-validation.xml"的校验文件放在与该Action在同一路径下,而且在struts.xml中指定<result name="input>的值,在input对应的文件里增加<s:fielderror/>就可以。

此时假设输入不符合校验规则,就不会跳转到对应的action。而是仍然跳转回input文件。并显示对应的校验提示。

可是自己在指定了校验文件之后,却发现始终不起作用,后来最终发现问题,原来是自己贪图方便,直接从别处复制过来校验配置文件的dtd信息。可是这个复制过来的dtd信息跟自己如今这个版本号的Struts所用的dtd信息并不同样,从而导致校验不起作用。

解决方法非常easy,就是在lib中找到自己所用的xwork-core文件。比方我的是xwork-core-2.3.16.3.jar。用解压工具查看当中的dtd文件。一般有多个。我查看的是xwork-validator-1.0.3.dtd,里面内容例如以下:

<?

xml version="1.0" encoding="UTF-8"?> <!-- XWork Validators DTD. Used the following DOCTYPE. <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> --> <!ELEMENT validators (field|validator)+> <!ELEMENT field (field-validator+)> <!ATTLIST field name CDATA #REQUIRED > <!ELEMENT field-validator (param*, message)> <!ATTLIST field-validator type CDATA #REQUIRED short-circuit (true|false) "false" > <!ELEMENT validator (param*, message)> <!ATTLIST validator type CDATA #REQUIRED short-circuit (true|false) "false" > <!ELEMENT param (#PCDATA)> <!ATTLIST param name CDATA #REQUIRED > <!ELEMENT message (#PCDATA|param)*> <!ATTLIST message key CDATA #IMPLIED >



仅仅要将以下的片段拷贝到校验文件里就可以:

<pre name="code" class="html"><!DOCTYPE validators PUBLIC"-//Apache Struts//XWork Validator 1.0.3//EN""http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
-->

后面尝试了一下。发现用xwork-validator-1.0.2.dtd中的配置信息也能够,这应该仅仅是版本号的问题,可是一定要是自己的xwork-core支持的版本号才行。

Struts2中指定的校验文件不起作用的原因相关推荐

  1. ASP.NET中App_Code,App_Data等文件夹的作用

    ASP.NET中App_Code,App_Data等文件夹的作用 1. Bin文件夹 Bin文件夹包含应用程序所需的,用于控件.组件或者需要引用的任何其他代码的可部署程 序集.该目录中存在的任何.dl ...

  2. html方法标签不起作用,Angular中innerHTML标签的样式不起作用的原因解析

    1.背景 在最近angular的项目中,需要用到[innerHTML]标签来指定一个div的样式: //HTML部分 //TS部分 contents = ' 商品信息栏位商品信息介绍 '; 但是上面的 ...

  3. Struts2中导入外部xml文件出现Included file cannot be found错误!

    Struts.xml 文件中导入外部xml文件,需要在Struts.xml文件中加入include元素. ch3.xml文件位于ch3目录中.ch3.xml是一个标准的Struts2配置文件 路径千万 ...

  4. Ansible playbook文件中指定SSH密钥文件

    Ansible playbook可以在命令行上使用--key-file指定用于ssh连接的密钥. ansible-playbook -i hosts init_system.yml --key-fil ...

  5. ASP.NET中App_Code,App_Data等文件夹的作用转

    1. Bin文件夹 Bin文件夹包含应用程序所需的,用于控件.组件或者需要引用的任何其他代码的可部署程序集.该目录中存在的任何.dll文件将自动地链接到应用程序. 2. App_Browser文件夹 ...

  6. 学习:ASP.NET中App_Code,App_Data等文件夹的作用(转)

    1.  Bin文件夹 Bin文件夹包含应用程序所需的,用于控件.组件或者需要引用的任何其他代码的可部署程序集.该目录中存在的任何.dll文  件将自动地链接到应用程序. 2.  App_Browser ...

  7. c#中bin,obj,properties文件夹的作用

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...

  8. [C++] C语言及C++语言中包含的头文件名称,及作用

    头文件主目录include 头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个.这些头文件各自的功能如下,具体的作用和所包 ...

  9. Git忽略文件不起作用的原因及解决办法

    出现问题: 你们有没有在使用git的时候会遇到这种情况.在开发过程中,我们会在 .gitignore 文件中添加一些忽略项,然而当我们push到远程的时候会出现一个问题,那就是我们在 .gitigno ...

最新文章

  1. 获取结构体中变量的偏移量
  2. html 距离上边缘,HTML - CSS边缘恐怖; 边距在父元素之外添加空格
  3. 安装gcc 4.8.2 for cxx 11
  4. redis:list的底层实现--压缩列表
  5. tomcat 默认站点的配置
  6. 笔记本电脑如何强制关机_笔记本按电源按钮不能关机只是关闭屏幕的解决办法...
  7. 年轻就是程序员的资本?我不敢苟同!
  8. Vue实战(六)通用Table组件
  9. CleanMyMac偏好设置你知道多少?
  10. Js+fromdata
  11. 小甲鱼零基础入门python课后作业及答案_小甲鱼python视频第四讲(笔记及课后习题答案)...
  12. 安装Python解释器【图文集合 - 详细流程】
  13. 【stm32学习】正点原子stm32f103学习——开发板入门
  14. 全站即时通讯技术资料分类
  15. python误差修正模型_误差修正模型ECM_eviews误差修正模型
  16. 基于LORA SX1278的温度监控控制系统开发设计-软件方案基于时分复用TDMA
  17. 如何对系统声音进行选择与设置
  18. 李彦宏:为理想找到归宿
  19. 5G NR带宽 频点
  20. 封基表现继续好于大盘

热门文章

  1. python pip下载安装教程_Python下的常用下载安装工具pip的安装方法
  2. api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】
  3. alert点击确定后跳转_公众号/h5 跳转到小程序填坑指南
  4. 我的世界连锁挖矿下载JAVA_我的世界1.7.10连锁挖矿整合包
  5. 编写python程序、创建名为class的数据库_Python中的元类(metaclass)以及元类实现单例模式...
  6. java securt 视频,SecureRandom在Java中安全种子
  7. mongodb命令基础知识点
  8. DjangoORM增删改查
  9. JDK15新特性密封类可以被继承了!
  10. python3.8.5依赖的urllib版本_Python(pip)-请求依赖警告:urllib3(1.9.1)或chardet(2.3.0)与受支持的版本不匹配...