0

我在我的应用程序中使用 struts2。在 struts2 中,默认情况下将表单布局在一个两列表格中,每个输入字段的标签在左列,输入字段在右列(标签#输入字段#)。但就我而言,我需要连续四列(标签#输入字段#标签#输入字段#)。有没有办法做到这一点,而不改变我的主题(xhtml)?

我不希望对主题进行任何更改,有没有办法欺骗每个 struts 标签的自动渲染 #tr#,#td# 标签。

4

1 回答 1

0

如果您需要连续四列,那么您需要完全控制<s>标签或只是跳过<s>标签并拥有自己的表单:)

要自己对齐所有控件,我建议您使用 css_xhtml 主题而不是默认的 xhtml。

通过这样做,假设您的表单是这样的:

<s:form action="add" method="post">
    <s:textfield name="contact.firstName" label="Firstname"/>
    <s:textfield name="contact.lastName" label="Lastname"/>
</s:form>

它将呈现为:

<form id="add" name="add" action="add" method="post">
    <div id="wwgrp_add_contact_firstName" class="wwgrp">
        <div id="wwlbl_add_contact_firstName" class="wwlbl">
        <label for="add_contact_firstName" class="label">Firstname:</label>
        </div>
        <br />
        <div id="wwctrl_add_contact_firstName" class="wwctrl">
        <input type="text" name="contact.firstName" value="" id="add_contact_firstName"/>
        </div>
    </div>
    <div id="wwgrp_add_contact_lastName" class="wwgrp">
        <div id="wwlbl_add_contact_lastName" class="wwlbl">
        <label for="add_contact_lastName" class="label">Lastname:</label>
        </div>
        <br />
        <div id="wwctrl_add_contact_lastName" class="wwctrl">
        <input type="text" name="contact.lastName" value="" id="add_contact_lastName"/>
        </div>
    </div>
</form>

您现在所要做的就是覆盖样式并相应地创建您的表单,为它们设置样式:)

于 2013-09-29T03:34:30.317 回答