码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2 验证信息样式修改

时间:2015-03-28 18:42:36      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

Struts2里面fielderror标签的样式修改问题

 

当在我们注册用户时,如果给前台的提示是用户名重复并且用户名太长时,就会要往action里面添加多个errors,这时到前台怎么把它依次拿出来

 

解决办法

1.我想到的解决办法就是在后台相应的action处作判断,最终给一个错误信息出来,只不过这个错误信息可能会经过判断综合到一起(后台加工)。也就是说我们可以从value stack里面拿值

<s:property value=”fielderror.name[0]”/>

 

2.用struts2的<s:fielderror/>标签可以拿到所以的错误信息,但是有自己的格式,要想办法去掉他的格式    办法:把struts强加的样式覆盖掉,也可以把它的样式手动设为none

.errorMessage{

list-style-typenone;

}

 

但是这样还是有ul li 从而有换行的效果那么如何去掉ul li ?这个还是有点麻烦的

3.去掉ul li 办法

       1.把strut-core包解压可以看到template-simple-fielderror.ftl文件把最后一分

               <ul<#rt/>

            <#if parameters.cssClass??>

                    class="${parameters.cssClass?html}"<#rt/>

                <#else>

                    class="errorMessage"<#rt/>

            </#if>

            <#if parameters.cssStyle??>

                    style="${parameters.cssStyle?html}"<#rt/>

            </#if>

                >

            <#list eKeys as eKey><#t/>

                <#assign eValue = fieldErrors[eKey]><#t/>

                <#list eValue as eEachValue><#t/>

                    <li><span><#if parameters.escape>${eEachValue!?html}<#else>${eEachValue!}</#if></span></li>

                </#list><#t/>

            </#list><#t/>

        </ul>改成

            <#list eKeys as eKey><#t/>

                <#assign eValue = fieldErrors[eKey]><#t/>

                <#list eValue as eEachValue><#t/>

                    <span><#if parameters.escape>${eEachValue!?html}<#else>${eEachValue!}</#if></span>

                </#list><#t/>

            </#list><#t/>

也就是去掉ul  li  然后打包再放回去

       2.一般这样破坏了别人的封装,struts里面可以采取覆盖的形式具体如下:

       在struts.xml里面配置常量也就是规定我们使用哪个样式,然后好改相应的struts样式

       <constant name="struts.ui.theme" value="simple" />

然后在src目录下新建包template .simple  (要按顺序建两次)然后把修改过的filederror.flt文件放到里面去,重启项目,就会看到ul  li  不见了这时你想加什么样式 随便你了

       3.可以定义自己的主题

         在struts.xml里面配置常量

        <constant name="struts.ui.theme" value="mytheme" />

        当然这样我们就得把strutscore里面的simple整个文件夹里面的内容全部放到template-mytheme下面了,并且修改我们的fielderror.flt文件 

       最后struts的所有标签,只有fielderror给我们加css,当我们改完fielderror之后上,其它的标签我们还是用theme=”simple”这个主题

       <constant name="struts.ui.theme" value="simple" /> 其中theme=”xhtml”是默认的

Struts2 验证信息样式修改

标签:

原文地址:http://www.cnblogs.com/feng666/p/4374545.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!