質問

.jspコードは次のとおりです。

<table>
        <s:iterator value="allAgents">
            <tr>
                <td><s:property value="firstName" /></td>
                <td><s:property value="middleName" /></td>
                <td><s:property value="lastName" /></td>
                <td><s:checkbox name="ss"/></td>
            </tr>
        </s:iterator>
</table>

レンダリングすると、チェックボックスは「名前」の下の中央の行全体を占めます。 これは、単一行となるはずの生成されたhtmlです。

<tr>
    <td>first</td>
    <td>middle</td>
    <td>last</td>
    <td>
<tr>
    <td valign="top" align="right"></td>
    <td valign="top" align="left"><input type="checkbox" name="ss"
        value="true" id="agent_ss" /> <input type="hidden"
        name="__checkbox_ss" value="true" /></td>
</tr>

</td>
</tr>

それは私ですか、それとも支柱ですか? TIA。

役に立ちましたか?

解決

プロパティtheme = <!> quot; simple <!> quot;を追加します。

他のヒント

Struts2はs:checkboxをテーブルセル自体としてレンダリングします。理由は、struts2がタグレンダリングにテンプレートシステムを使用しているためです。デフォルトは(struts-default.propertiesで定義されている)

です。

標準UIテーマ

struts.ui.theme = xhtml

struts.ui.templateDir = template

struts.ui.templateSuffix = ftl

この変更を行う必要があります-struts.ui.theme:simple

追加することで実行できます

定数名= <!> quot; struts.ui.theme <!> quot; value = <!> quot; simple <!> quot; / <!> gt;タグ

<!> quot; struts.xml <!> quot;で、これで十分です。

フォームタグのレンダリングに使用されているテーマを調べる必要があります。 Struts2は、テンプレートシステム(struts.propertiesで定義)を使用します。デフォルトでは、2列のテーブルを出力するように設計されたxhtmlテンプレートを使用しているようです。アプリでデフォルトにシンプルにするか、タグレベル(または他の5つの階層)でオーバーライドできます。

詳細は次のとおりです。 http:// struts。 apache.org/2.0.14/docs/themes-and-templates.html

チェックボックスを定義するときは、<!> quot; theme = simple <!> quot;を使用します。次のような属性:

<!> quot; simple <!> quot;テーマは、チェックボックスを他のフィールドと同じ行に配置します。乾杯。

問題は、デフォルトのStrutsテーマでは、s:checkboxがテーブルセルそのものであるということです。 (Struts 2はテーブルセルとしてレンダリングします)

jspで再度<td>タグに含めます(必要ありません)

チェックボックスタグの周りの<=>タグを削除してみてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top