0

我目前正在从 Struts 2.0.11.1 升级到 Struts 2.3.7,但是我遇到了 Struts 标签的输出问题(例如<s:radio><s:textarea>。之前,这些标签的输出是两个<div>,一个包含标签,并且一个包含单选按钮/文本区域。但是在我升级后,<br>两者之间有一个<div>

前:

<div id="wwlbl_something_someString" class="wwlbl">
    <label for="something_someString" class="desc">Some label</label>
</div>
<div id="wwctrl_something_someString" class="wwctrl">
    <!--radiobuttons/textarea -->
</div>

<div id="wwlbl_something_someString" class="wwlbl">
    <label for="something_someString" class="desc">Some label</label>
</div>
<!-- I don't want this.. -->
<br>
<!-- -->
<div id="wwctrl_something_someString" class="wwctrl">
    <!--radiobuttons/textarea -->
</div>

该jsp:

    <li class="wwgrp flowClear">
        <h3 class="header"><s:text name="something.header"/></h3>
        <ol class="nobullets">
          <s:radio list="yesNoList"
                   label="%{getText('something.text.label')}"
                   name="something.someString"
                   value="something.some"
                   disabled="%{readOnly}"/>
        </ol>
      </li>

@评论:这个项目中有很多以前从未见过的东西(不是很好);)

有谁知道这是否在 Struts 中发生了变化,如果是,如何避免创建<br>'s?

4

1 回答 1

2

我实际上偶然发现了答案。作为对最后一条评论的回答struts.ui.theme设置为css_xhtml.

http://depressedprogrammer.wordpress.com/2007/04/11/struts-2-form-control-templates/

一个快速说明,xhtml_css 主题还会<br/>在标签和控件之间生成一个非常无用的标签,这可能会影响你的整个外观,摆脱这个你必须.wwgrp br { display: none; }在你的 CSS 样式表中做一个。

所以我认为这样做可以解决问题,它是由 struts 主题添加的,可能在我更新 Struts 版本时发生了变化。

欢迎提供有关通常如何设置/应该设置的指针,因为我对此一无所知.. :)

于 2013-03-05T15:51:28.617 回答