`
q474818917
  • 浏览: 38917 次
  • 性别: Icon_minigender_1
  • 来自: 扬州
社区版块
存档分类
最新评论

Struts2 checkboxlist标签 设置cssClass属性生成的html代码中check没有class属性问题

阅读更多
使用struts2 checkboxlist标签设置cssClass属性后,发现生成的html代码中 input 标签并没有class属性。

打开checkboxlist.ftl看,内容如下:
    <input type="checkbox" name="${parameters.name?html}" value="${itemKeyStr?html}" id="${parameters.name?html}-${itemCount}"<#rt/>  
            <#if tag.contains(parameters.nameValue, itemKey)>  
     checked="checked"<#rt/>  
            </#if>  
            <#if parameters.disabled?default(false)>  
     disabled="disabled"<#rt/>  
            </#if>  
            <#if parameters.title??>  
     title="${parameters.title?html}"<#rt/>  
            </#if>  
            <#include "/${parameters.templateDir}/simple/scripting-events.ftl" />  
            <#include "/${parameters.templateDir}/simple/common-attributes.ftl" />  
    />  

根本没有cssClass参数进行设置。

  添加下面的内容,在替换struts2包中的  checkboxlist.ftl 文件就可以了:
<#if parameters.cssClass??>     
     class="${parameters.cssClass?html}"<#rt/>     
</#if> 

  完整的ftl文件如下:
    <#assign itemCount = 0/>  
    <#if parameters.list??>  
        <@s.iterator value="parameters.list">  
            <#assign itemCountitemCount = itemCount + 1/>  
            <#if parameters.listKey??>  
                <#assign itemKey = stack.findValue(parameters.listKey)/>  
            <#else>  
                <#assign itemKey = stack.findValue('top')/>  
            </#if>  
            <#if parameters.listValue??>  
                <#assign itemValue = stack.findString(parameters.listValue)?default("")/>  
            <#else>  
                <#assign itemValue = stack.findString('top')/>  
            </#if>  
    <#assign itemKeyitemKeyStr=itemKey.toString() />  
    <input type="checkbox" name="${parameters.name?html}" value="${itemKeyStr?html}" id="${parameters.name?html}-${itemCount}"<#rt/>  
            <#if tag.contains(parameters.nameValue, itemKey)>  
     checked="checked"<#rt/>  
            </#if>  
            <#if parameters.disabled?default(false)>  
     disabled="disabled"<#rt/>  
            </#if>  
            <#if parameters.title??>  
     title="${parameters.title?html}"<#rt/>  
            </#if>  
            <#if parameters.cssClass??>     
            class="${parameters.cssClass?html}"<#rt/>     
            </#if>     
            <#include "/${parameters.templateDir}/simple/scripting-events.ftl" />  
            <#include "/${parameters.templateDir}/simple/common-attributes.ftl" />  
    />  
    <label for="${parameters.name?html}-${itemCount}" class="checkboxLabel">${itemValue?html}</label>  
        </@s.iterator>  
    <#else>  
      &nbsp;  
    </#if>  
    <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.name?html}" value=""<#rt/>  
    <#if parameters.disabled?default(false)>  
     disabled="disabled"<#rt/>  
    </#if>  
     />   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics