q474818917 发表于 2013-2-7 17:01:27

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>             </#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>       />
页: [1]
查看完整版本: Struts2 checkboxlist标签 设置cssClass属性生成的html代码中check没有class属性问题