您的位置:首页 > Web前端 > HTML

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

2012-08-02 17:42 931 查看
是因为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>

/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐