s:fielderror样式

字体大小: 中小 标准 ->行高大小: 标准
      在struts标签里面默认采用的是xhtml对应的样式,这样在用<s:text><s:pasword>等时,会将它放在一个table内,而对于fielderror,则会将它放在<ui><li></li></ui>中。前者可以采用theme="simple“来改变,而对于后者,通过改变theme,并没有改变。这个时候,只能从更底层去看了。对于struts标签的样式,它也有对应的配置文件,可以在struts-core里面找到。因此,要改变这里的样式,则可以通过对配置的更改来达到效果。

        修改struts2-core-2.0.11.1.jar\template\simple\fielderror.ftl文件如下:

<#--

 

-->

<#if fieldErrors?exists><#t/>

<#assign eKeys = fieldErrors.keySet()><#t/>

<#assign eKeysSize = eKeys.size()><#t/>

<#assign doneStartUlTag=false><#t/>

<#assign doneEndUlTag=false><#t/>

<#assign haveMatchedErrorField=false><#t/>

<#if (fieldErrorFieldNames?size > 0) ><#t/>

<#list fieldErrorFieldNames as fieldErrorFieldName><#t/>

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

  <#if (eKey = fieldErrorFieldName)><#t/>

   <#assign haveMatchedErrorField=true><#t/>

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

   <#if (haveMatchedErrorField && (!doneStartUlTag))><#t/>

    <#assign doneStartUlTag=true><#t/>

   </#if><#t/>

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

     <#rt/>

<#if parameters.cssClass?exists>

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

<#else>

<#rt/>

</#if>

<#if parameters.cssStyle?exists>

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

</#if>

${eEachValue}

   </#list><#t/>  

  </#if><#t/>

  </#list><#t/>

</#list><#t/>

<#if (haveMatchedErrorField && (!doneEndUlTag))><#t/>

  <#assign doneEndUlTag=true><#t/>

</#if><#t/>

<#else><#t/>

<#if (eKeysSize > 0)><#t/>

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

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

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

    <#rt/>

<#if parameters.cssClass?exists>

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

<#else>

  <#rt/>

</#if>

<#if parameters.cssStyle?exists>

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

</#if>

${eEachValue}

    </#list><#t/>

   </#list><#t/>

</#if><#t/>

</#if><#t/>

</#if><#t/>

 这样就清除了<ui><li></li></ui>的样式了。

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/69137.html