struts2表单验证错误信息显示样式

当我们在使用struts2自带的验证框架来验证表单字段时,需要在页面上显示错误提示信息,一般我们是在页面上添加<s:fielderror/>标签。而<s:fielderror/>会解析成<ul><li><span>error message</span></li></ul>的形式,这样一来错误信息的显示就只能显示在验证字段的上方或者下面,而我们需要的往往是将错误信息显示在验证字段的右边。

   要解决这个问题,我们先把struts-core-2.1.8.jar中的template文件夹拷贝出来放在WEB-INF目录下,然后在struts.properties文件中加上两个struts属性的配置:

struts.ui.theme=simple
struts.ui.templateDir=WEB-INF/template

然后修改simple目录下的fielderror.ftl文件,将<li></li>标签去掉,去掉之后<s:fielderror/>解析出来的html代码中还包括<ul></ul>标签,这时不能直接把它去掉,如果直接把<ul></ul>标签去掉解析出来的html代码会多出id="XXX" class="XXX"等内容,这些内容会原样显示在页面上,而且我们之前设置的css样式也会失效。我采用了一个比较笨的方法,把<ul></ul>标签改成<label></label>,这样既可以去掉<ul><li></li></ul>还可以通过css设置错误信息的样式。


根据Struts2模板中提到的,把上面的fielderror.ftl放到WEB-INF/classes/template/simple目录下,这个我当时以为就在WEB-INF下新建一个classes的文件夹,后来提示已经存在,想想整个工程的结构发现,classes是放Java编译后的文件的,所有,这个时候的操作是在Src目录下新建一个template的文件夹,再在里面新建一个simple的文件夹(template/simple)(一定要注意建文件夹的步骤,是分两个文件夹建而不是建一个文件夹template.simple),把fielderror.ftl放到里面,


猜你喜欢

转载自lfq618.iteye.com/blog/1058253