0

アプリケーションに struts2 を使用しています。struts2 では、デフォルトで、左側の列に各入力フィールドのラベルがあり、右側の列に入力フィールドがある 2 列のテーブルにフォームがレイア​​ウトされます (Label #input field#)。しかし、私の場合、行に4列が必要です(Label #input field# Label #input field#)。私のテーマ(xhtml)を変更せずにこれを行う方法はありますか?

テーマを変更したくありません。struts タグごとに #tr#、#td# タグの自動レンダリングをごまかす方法はありますか。

4

1 に答える 1

0

行に 4 つの列が必要な場合は、タグを完全に制御する<s>か、タグをスキップ<s>して独自のフォームを作成する必要があります :)

すべてのコントロールを自分で調整するには、デフォルトの xhtml の代わりに css_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 に答える