Frage

Hier ist der .jsp Code:

<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>

Beim Rendern würde das Kontrollkästchen eine ganze Reihe unter dem Namen 'besetzen, zentriert. Hier sind die generierten HTML für das, was angenommen hat, eine einzelne Zeile sein:

<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>

Ist es mir oder Streben? TIA.

War es hilfreich?

Lösung

Fügen Sie die Eigenschaft theme = "einfache" wie

Andere Tipps

Struts2 macht s: Checkbox als Tabellenzelle itself.The Grund ist tht struts2 verwendet ein Template-System für Tag-Rendering. Die Standardeinstellung ist (wie in struts-default.properties definiert)

Standard UI Thema

struts.ui.theme = xhtml

struts.ui.templateDir = template

struts.ui.templateSuffix = FTL

Sie müssen diese Änderung vorzunehmen - struts.ui.theme: simple

Es kann durch das Hinzufügen

erfolgen

Konstante name = "struts.ui.theme" value = "einfacher" /> Tag

in der "struts.xml" .Dieses wil genügen.

Sie müssen in das Thema suchen, die für das Formular-Tag-Rendering verwendet wird. Struts2 verwendet ein Template-System (in struts.properties definiert). Es sieht aus wie Sie die xhtml Vorlage standardmäßig verwenden, die für die Ausgabe einer zweispaltige Tabelle ausgelegt ist. Sie können in der App auf einfachen Standard oder auf der Tag-Ebene außer Kraft setzen (oder fünf anderen Hierarchien dazwischen).

Hier einige weitere Informationen: http: // Streben. apache.org/2.0.14/docs/themes-and-templates.html

Wenn Sie Ihre Kontrollkästchen definieren, verwenden Sie „theme = einfaches“ Attribut wie im folgenden dargestellt:

Das „einfache“ Thema wird Ihre Checkbox in der gleichen Zeile wie die anderen Felder Ihrer setzen. Prost.

Das Problem ist, dass mit dem Standard Streben Thema, s:checkbox eine Tabellenzelle selbst ist. (Struts 2 macht es als eine Tabellenzelle)

In Ihrem jsp schließen Sie es in <td> Tags wieder (was nicht benötigt wird)

Versuchen Sie, die <td> -Tags um das Kontrollkästchen Tag zu entfernen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top