struts2中如何去掉<s:fielderror>中的<ul><li>样式

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

 

解决办法

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

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

 

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

.errorMessage{

list-style-type: none;

}

 

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

3.去掉ul li 办法

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

             <ul<#rt/>

           <#ifparameters.cssClass??>

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

               <#else>

                   class="errorMessage"<#rt/>

           </#if>

           <#ifparameters.cssStyle??>

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

           </#if>

               >

           <#list eKeys aseKey><#t/>

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

               <#list eValue aseEachValue><#t/>

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

               </#list><#t/>

           </#list><#t/>

       </ul>改成

           <#list eKeys aseKey><#t/>

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

               <#listeValue aseEachValue><#t/>

                   <span><#ifparameters.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”是默认的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值