Domanda

Ecco il codice .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>

Al rendering, la casella di controllo occuperebbe un'intera riga sotto i "nomi", centrata. Ecco il codice HTML generato per quella che dovrebbe essere una singola riga:

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

Sono io o puntoni? TIA.

È stato utile?

Soluzione

Aggiungi il tema della proprietà = " semplice " come

Altri suggerimenti

Struts2 rende s: casella di controllo come cella di tabella stessa. Il motivo è che struts2 utilizza un sistema modello per il rendering dei tag. L'impostazione predefinita è (come definito in struts-default.properties)

Tema dell'interfaccia utente standard

struts.ui.theme = xhtml

struts.ui.templateDir = template

struts.ui.templateSuffix = FTL

Devi apportare questa modifica - struts.ui.theme: simple

Può essere fatto aggiungendo

nome costante = " struts.ui.theme " & = Valore quot; & Semplice quot; / Gt &; tag

nel " struts.xml ". Questo sarà sufficiente.

È necessario esaminare il tema utilizzato per il rendering del tag del modulo. Struts2 utilizza un sistema di template (definito in struts.properties). Sembra che tu stia utilizzando il modello xhtml per impostazione predefinita, progettato per generare una tabella a due colonne. Puoi impostare semplicemente semplice nell'app o sovrascriverla a livello di tag (o tra altre cinque gerarchie in mezzo).

Altre informazioni: http: // struts. apache.org/2.0.14/docs/themes-and-templates.html

Quando si definisce la casella di controllo, utilizzare " theme = simple " attributo come mostrato di seguito:

Il " semplice " Il tema metterà la tua casella nella stessa riga degli altri campi del tuo. Cin cin.

Il problema è che con il tema predefinito struts s:checkbox è una cella di tabella stessa. (Struts 2 lo rende come una cella di tabella)

Nel tuo jsp lo includi di nuovo nei <td> tag (che non è necessario)

Prova a rimuovere i <=> tag attorno al tag della casella di controllo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top