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

使用struts2checkboxlist标签设置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>  
     />

相关推荐