浏览 3730 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-02-22
![]() 今天用了下webwork RegexFieldValidator,按照文档定义了一个 <field-validator type="regex"> <param name="expression"> <![CDATA[([aAbBcCdD][123][eEfFgG][456]);]]> </param> </field-validator> 不行,困惑,查看java doc关于regex的文档,webwork文档,xwork文档,还是不行,google,baidu,yahoo search...,折腾半天死活都不行,绝望中 ![]() ![]() 最后发现跟文档有一点区别,于是改为 <field-validator type="regex"> <param name="expression"><![CDATA[([aAbBcCdD][123][eEfFgG][456]);]]></param> </field-validator> 通过,晕死,进一步调查,原来是myeclipse把我的xml文件格式化了,把<![CDATA[换了下行,webwork就处理不了的,把expression读成了一个有若干空格的字符串 ![]() ![]() 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-02-22
这个,估计在读取配置文件的时候,前后trim一下就好了,帮你提交了一个bugfix,是不是这么改我就没有试过,不过按照你的说法应该是这样的:
http://jira.opensymphony.com/browse/WW-1205 |
|
返回顶楼 | |
发表时间:2006-02-22
trim没用,它压根就没有读到cdata里面的值,只是一个空的串" ... "
|
|
返回顶楼 | |
发表时间:2006-02-23
CafeBabe 写道 trim没用,它压根就没有读到cdata里面的值,只是一个空的串" ... "
那难道是你的JDK包含的JAXP的bug?webwork的代码看起来没有啥问题。 |
|
返回顶楼 | |
发表时间:2006-02-23
it is really strange, I am using jdk1.5:(
|
|
返回顶楼 | |
发表时间:2006-02-23
robbin 写道 这个,估计在读取配置文件的时候,前后trim一下就好了,帮你提交了一个bugfix,是不是这么改我就没有试过,不过按照你的说法应该是这样的:
http://jira.opensymphony.com/browse/WW-1205 加trim也没有用,问题是在于这个代码: paramElement.getFirstChild().getNodeValue(); 对于CafeBabe的写法,paramElement会有3个child node: 1. TextNode 2. CDataNode 3. TextNode getFirstChild就返回了第一个TextNode,所以就是一个长长的空白String 而且这个issue很难resolve,还是不要换行,老老实实地写一行吧。 |
|
返回顶楼 | |
发表时间:2006-02-23
Readonly 写道 robbin 写道 这个,估计在读取配置文件的时候,前后trim一下就好了,帮你提交了一个bugfix,是不是这么改我就没有试过,不过按照你的说法应该是这样的:
http://jira.opensymphony.com/browse/WW-1205 加trim也没有用,问题是在于这个代码: paramElement.getFirstChild().getNodeValue(); 对于CafeBabe的写法,paramElement会有3个child node: 1. TextNode 2. CDataNode 3. TextNode getFirstChild就返回了第一个TextNode,所以就是一个长长的空白String 而且这个issue很难resolve,还是不要换行,老老实实地写一行吧。 我测试了一下其他的Validator,例如: <field name="age"> <field-validator type="int"> <param name="min"> 13 </param> <param name="max"> 29 </param> <message key="error.age"/> </field-validator> </field> 这样就完蛋了,13和29就出不来,即使在一行,只要前后有空格,也出不来,只要加trim就好了。 所以我认为trim还是得加,但是那种情况,quake是否去jira那里和Rene说明一下? |
|
返回顶楼 | |
发表时间:2006-02-23
Thanks, I can not press shift+ctrl+f freely anymore when editing validation.xml
![]() |
|
返回顶楼 | |