日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2中指定的校验文件不起作用的原因

發布時間:2024/1/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2中指定的校验文件不起作用的原因 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? 轉載請注意出處: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中指定的校验文件不起作用的原因的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。