关于Struts2在校验的时候去除表单中的只带的样式
2016-03-30 19:30
417 查看
当你写完注册校验的时候,一运行,咯噔一下,你前台的界面都乱了,你木有一种崩溃的感觉,有没有一种想杀人的冲动
。莫着急少年,老司机带大家装逼来了!上车刷卡。
滴滴开车了!说正经的了,今天我再写Struts2的注册校验,我的校验很简单就是配置了一个校验文件UserRegisterAction-validation.xml文件。
我测试的时候用的是<s:fielderror fieldName="user.password" theme="simple"/>来一个一个在valueStack中取出错误的信息,但是我发现了一个问题:输出的信息不是一块肉,带的骨头,Struts2自己带了一些格式进去,具体的是带点,带换行,这让我感到非常的不爽。这样弄就会完全打乱前台的布局,这样非常的不好,如果让前台弄这些,会奔溃的。
现在我们讲如何处理这种问题
1,利用ognl从值栈中直接拿值就可以啦
你想,错误信息是保存在valuestack中的,我直接从值栈中取到不就可以了,我直接吃肉就可以啦啊!
但是这时候的ogl表达式就的用好了,先确定你用的是模型驱动还是属性驱动,属性驱动就很好取值了啊<s:property value="errors.username" />但是在模型驱动的时候就得注意了,让我们debug一下看一下值栈中是怎样保存错误信息的
我们看到在errors中保存的是一个集合,所以我们要按照集合的ognl取值了
<s:property value="errors['user.username'][0]" />这里关于集合的取值,大家再查一查,我也不太理解的很深,基本就是这样的格式
这样就可以取到肉了,是不是很简单,关键点是要理解集合用ognl怎样写
2,第二种方法就是关于struts2标签关于主题与模板的哪一块
我们开始做
1,找到你下载的Struts包中的lib文件夹,然后减压开,如图
2
找到如图的文件,fielderror.ftl文件然后我们复制上
3,然后再我们的项目中新建一个文件夹叫做template文件夹,然后再在这个文件夹上新建另一个文件夹名字叫做simple然后我们把复制的文件黏贴到这个下面就变成如图这样的了
4,我们点进去修改里面的代码
如图我们把红色的部分都去掉然后保存,
<s:fielderror><s:param>user.username</s:param></s:fielderror><br/>进行显示
然后运行你的项目
然后就可以吃到肉了,哈哈
是不是很开心把问题解决了
相关文章推荐
- 在线用表单建立文件夹
- Jquery 表单取值赋值的一些基本操作
- javascript 表单的友好用户体现
- js 提交和设置表单的值
- 攻克CakePHP系列二 表单数据显示
- JavaScript获取页面中表单(form)数量的方法
- 网页中表单按回车就自动提交的问题的解决方案
- 分享纯手写漂亮的表单验证
- 超实用的JavaScript表单代码段
- js实现不提交表单获取单选按钮值的方法
- js实现文件上传表单域美化特效
- JavaScript实现重置表单(reset)的方法
- javascript实现校验文件上传控件实例
- javascript实现自动填写表单实例简析
- JavaScript实现同一页面内两个表单互相传值的方法
- JS中表单的使用小结
- 封装好的一个万能检测表单的方法
- Bootstrap每天必学之表单
- javascript创建动态表单的方法
- JS+DIV+CSS实现仿表单下拉列表效果