Struts2 select标签 设置Class属性生成的html代码中select没有class属性问题

是因为struts2中select标签没有class这项,代替的是使用cssClass项目,例如:

<s:select cssClass=“left”  list=”myselectList” name=”selectName” id=”selectId” value=”selectValue”>

其实看struts2的源码就会发现struts2生成select标签时不会去取名为class的参数,而是去取名为cssClass的参数来生成class="?"。


struts2中select标签,首先list属性是必选的,是下拉列表的值,一般情况下是一个list

其中value属性代表是option的值,一般情况下是list的对象的一个属性值,

headerKey,headerValue是第一下拉菜单的显示名称和值

cssClass:等效于<select class=”dd”>

cssStyle:等效与<select style=”width:190px”>

size代表下拉带菜单的显示的条数,默认是1


但是Struts2 checkboxlist设置cssClass属性标签也是没用的,还是要看源码就能明白:

打开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>  

     />  


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值