您的位置:首页 > 编程语言 > Java开发

Struts2 中UI标签中id与 name属性的关系

2012-12-25 21:40 375 查看
发现一个问题,标签的name和id都不指定时,生成的html源码中两个属性值都为“”,当指定name属性而没有设置id属性时框架会自动将id设成和name一样的值。

另外生成radio每个选项时,每个选项的id值为<s:radio id="radio" listvalue="" list="" name="">中的id加上list中每项的key的值。当id不存在而name存在时,为name加上每项key值。

radimap.ftl代码:

<@s.iterator value="parameters.list">
<#if parameters.listKey??>
<#assign itemKey = stack.findValue(parameters.listKey)/>
<#else>
<#assign itemKey = stack.findValue('top')/>
</#if>
<#assign itemKeyStr = itemKey.toString() />
<#if parameters.listValue??>
<#assign itemValue = stack.findString(parameters.listValue)/>
<#else>
<#assign itemValue = stack.findString('top')/>
</#if>
<#if parameters.listCssClass??>
<#if stack.findString(parameters.listCssClass)??>
<#assign itemCssClass= stack.findString(parameters.listCssClass)/>
<#else>
<#assign itemCssClass = ''/>
</#if>
</#if>
<#if parameters.listCssStyle??>
<#if stack.findString(parameters.listCssStyle)??>
<#assign itemCssStyle= stack.findString(parameters.listCssStyle)/>
<#else>
<#assign itemCssStyle = ''/>
</#if>
</#if>
<#if parameters.listTitle??>
<#if stack.findString(parameters.listTitle)??>
<#assign itemTitle= stack.findString(parameters.listTitle)/>
<#else>
<#assign itemTitle = ''/>
</#if>
</#if>
<input type="radio"><#rt/>
<#if parameters.name??>
name="${parameters.name?html}"<#rt/>
</#if>
id="${parameters.id?html}${itemKeyStr?html}"<#rt/>
<#if tag.contains(parameters.nameValue?default(''), itemKeyStr)>
checked="checked"<#rt/>
</#if>
<#if itemKey??>
value="${itemKeyStr?html}"<#rt/>
</#if>
<#if parameters.disabled?default(false)>
disabled="disabled"<#rt/>
</#if>
<#if parameters.tabindex??>
tabindex="${parameters.tabindex?html}"<#rt/>
</#if>
<#if itemCssClass?if_exists != "">
class="${itemCssClass?html}"<#rt/>
<#else>
<#if parameters.cssClass??>
class="${parameters.cssClass?html}"<#rt/>
</#if>
</#if>
<#if itemCssStyle?if_exists != "">
style="${itemCssStyle?html}"<#rt/>
<#else>
<#if parameters.cssStyle??>
style="${parameters.cssStyle?html}"<#rt/>
</#if>
</#if>
<#if itemTitle?if_exists != "">
title="${itemTitle?html}"<#rt/>
<#else>
<#if parameters.title??>
title="${parameters.title?html}"<#rt/>
</#if>
</#if>
<#include "/${parameters.templateDir}/simple/css.ftl" />
<#include "/${parameters.templateDir}/simple/scripting-events.ftl" />
<#include "/${parameters.templateDir}/simple/common-attributes.ftl" />
<#include "/${parameters.templateDir}/simple/dynamic-attributes.ftl" />
/><#rt/>
<label for="${parameters.id?html}${itemKeyStr?html}"><#include "/${parameters.templateDir}/simple/css.ftl"/>><#rt/>
${itemValue}<#t/>
</label>
</@s.iterator>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: