锁定老帖子 主题:Webwork的表单验证及其国际化
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-24
最近突然用到了Webwork的验证和国际化功能,于是翻遍了所有可以翻的地方,把心得写出来给大家分享. java 代码
java 代码
2.写UserService.java文件,代码如下: java 代码
3.编写Xwork配置文件: xml 代码
xml 代码
4.编写页面input.htm,注意虽然Velocity的默认扩展名为vm,但我们仍然可以改为htm,Velocity也会支持的.input.htm的代码如下: xml 代码
这样,我们的工作就完成了,接下来就可以在浏览器里测试了,如果浏览器设置为中文,则出现的提示信息问中文,如果浏览器语言设置为英语,则提示信息为英文.例子是简陋了一些,但适用于不使用ww标记的情况,希望能对有这种需要的朋友有所帮助. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-06
遇到一个问题:某个字段是double型,当用conversion校验时, 当填入的不是数字时都有二个这样的提示,
如何把1去掉,只留2 1.Invalid field value for field "protocol.money". 2.金额必须是数字,请重新输入。 其中,1是webwork默认提示的,2是我自己写的一个提示message,我想把默认提示去掉,如何做? |
|
返回顶楼 | |
发表时间:2007-11-14
这是在客户端验证的吧.请问:"如何在服务器验证呢?"
|
|
返回顶楼 | |
发表时间:2007-11-14
yuan_2004 写道 这是在客户端验证的吧.请问:"如何在服务器验证呢?"
这怎么成了在客户端验证的了? |
|
返回顶楼 | |
发表时间:2007-11-14
另外想请教一下楼主:
你说用到了国际化功能,我想打听一下这是个什么项目.与技术无关的,我只是想了解一下,什么样的项目有国际化需求. |
|
返回顶楼 | |
发表时间:2007-11-15
xellos 写道 另外想请教一下楼主:
你说用到了国际化功能,我想打听一下这是个什么项目.与技术无关的,我只是想了解一下,什么样的项目有国际化需求. 呵呵,这是做的一个运营的项目,因为项目不仅仅面向我们中国的用户,还要面向英语语种的用户,所以要用到国际化了!作为开发者,我们还是有必要了解一下国际化的! 以上的东西写的并不完整,比较简单,我想可能除了我,象上面这种用法的可能不多.而且以上说的是验证的国际化!这只是国际化的一个方面,是代码层的;另一个重要的方面就是UI国际化了.补充一点吧,完全按照以上所描述的实现方式,UI的国际化就简单了,即可在Action返回的Velocity的视图(我的扩展名是htm,而不是vm)层写$action.getText("label.xxx")即可.这里的$action就是当前Action的实例,或者说,$action是实例化了的Action对象的reference. 写的浅薄了些,当作抛砖引玉,有感兴趣的朋友一起交流吧! |
|
返回顶楼 | |
发表时间:2007-11-15
yuan_2004 写道 这是在客户端验证的吧.请问:"如何在服务器验证呢?"
这已经是服务端验证了,是服务端验证的一种方式,但不是标准方式,服务端验证的标准方式是使用webwork自带的验证框架使用ActionClassName-alias-validation.xml文件的方式进行验证,但这种方式强制视图层使用ww标签显示验证的提示信息,这就要求必须使用jsp做视图,与我的初衷不吻合,所以我简单一带而过.这种标准验证方式网上有好多,在下就不重复了. |
|
返回顶楼 | |
发表时间:2007-11-30
zhao 写道 遇到一个问题:某个字段是double型,当用conversion校验时, 当填入的不是数字时都有二个这样的提示,
如何把1去掉,只留2 1.Invalid field value for field "protocol.money". 2.金额必须是数字,请重新输入。 其中,1是webwork默认提示的,2是我自己写的一个提示message,我想把默认提示去掉,如何做? 这个1的校验,是在执行你2之前做的。在你的validation interceptor之前,有一个conversionError 的拦截器,只要把这个拦截器去掉就可以了 |
|
返回顶楼 | |
发表时间:2007-11-30
DavyLee 写道 yuan_2004 写道 这是在客户端验证的吧.请问:"如何在服务器验证呢?"
这已经是服务端验证了,是服务端验证的一种方式,但不是标准方式,服务端验证的标准方式是使用webwork自带的验证框架使用ActionClassName-alias-validation.xml文件的方式进行验证,但这种方式强制视图层使用ww标签显示验证的提示信息,这就要求必须使用jsp做视图,与我的初衷不吻合,所以我简单一带而过.这种标准验证方式网上有好多,在下就不重复了. 的确,这是一种服务器校验。 PS:在此谢谢楼主的这番讲解,我又重新看了下源代码,条理又明白了很多 :) |
|
返回顶楼 | |
发表时间:2008-02-20
DavyLee 写道 xellos 写道 另外想请教一下楼主:
你说用到了国际化功能,我想打听一下这是个什么项目.与技术无关的,我只是想了解一下,什么样的项目有国际化需求. 呵呵,这是做的一个运营的项目,因为项目不仅仅面向我们中国的用户,还要面向英语语种的用户,所以要用到国际化了!作为开发者,我们还是有必要了解一下国际化的! 以上的东西写的并不完整,比较简单,我想可能除了我,象上面这种用法的可能不多.而且以上说的是验证的国际化!这只是国际化的一个方面,是代码层的;另一个重要的方面就是UI国际化了.补充一点吧,完全按照以上所描述的实现方式,UI的国际化就简单了,即可在Action返回的Velocity的视图(我的扩展名是htm,而不是vm)层写$action.getText("label.xxx")即可.这里的$action就是当前Action的实例,或者说,$action是实例化了的Action对象的reference. 写的浅薄了些,当作抛砖引玉,有感兴趣的朋友一起交流吧! |
|
返回顶楼 | |