在Struts2中使用<s:select>标签时,如何使冒号消失?</s:select>

时间:2012-01-11 03:24:36

标签: html struts2 tags colon

在Struts中使用UI标记(例如)时遇到问题。

我在表单(theme ='xhtml')

中使用默认主题

案例1:========================================

使用时

<s:select label="FIELD1" ....../>

Struts2将生成html代码如下(我跳过非重要部分)

<table>
  <tr>
    <td>FIELD1:</td>
    <td> <select ...... > </td>
  </tr>
</table>

CASE2:=========================

使用时

<s:select label='' .....> 

生成的html代码如下:

<table>
  <tr>
    <td>:</td>
    <td> <select ...... > </td>
  </tr>
</table>

在Struts2生成的html代码中,您仍会在表格的标签字段中看到冒号。

CASE3:========================== 使用时

<s:select  .....>

如果我不使用label属性,Struts2会生成html代码如下:

<table>
  <tr>
    <td></td>
    <td> <select ...... > </td>
  </tr>
</table>

在Struts2生成的html代码中,您将看到标签文本已完成为空。

我希望的是,我设置属性lebel ='',并且Struts2生成的html代码中的标签文本为空(无冒号)。 我应该怎么做 ? 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

使用labelSeparator属性清空字符串,您的要求将得到满足。有关<s:select>的其他属性参考,请参阅该文档:

http://struts.apache.org/2.x/docs/select.html

答案 1 :(得分:0)

这是由于您使用的xhtml主题,并且基于Struts2标记为您生成HTML输出。

这里是用于生成HTML输出的Struts2免费标记模板中发生的事情。

${parameters.labelseparator?default(":")?html}<#t/>

所以当你没有labelseparator时会发生什么事情,它正在使用默认的分隔符,Struts2在内部使用:

因此,您应该按照labelSeparator的说明提供James,并且为了更好地控制输出,请根据您的选择使用简单主题和定义/设计页面。