0

在 Struts 中使用 UI 标记(例如:)时出现问题。

我在表单中使用默认主题 (theme='xhtml')

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

使用时

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

Struts2会生成html代码如下(不重要的部分我略过)

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

案例2:==========================

使用时

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

生成的html代码如下:

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

在 Struts2 生成的 html 代码中,您仍然可以在 table 的 label 字段中看到一个冒号。

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

<s:select  .....>

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

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

在 Struts2 生成的 html 代码中,你会看到标签文本是空的。

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

4

2 回答 2

1

使用该labelSeparator属性来清空字符串,您的要求就会得到满足。请参阅文档以获取其他属性参考<s:select>

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

于 2012-01-11T04:34:25.923 回答
0

这是由于xhtml您使用的主题以及基于 Struts2 标记为您生成 HTML 输出的原因。

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

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

所以当你没有标签分隔符时会发生什么,它使用的是 Struts2 内部使用的默认分隔符:

因此,您应该按照您的选择提供labelSeparatorJames更好地控制输出,使用简单的主题和定义/设计页面。

于 2012-01-11T04:50:54.073 回答