Pregunta

Aquí está el código .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>

Cuando se representa, la casilla de verificación ocuparía una fila completa debajo de los 'nombres', centrada. Aquí está el html generado para lo que se supone que es una sola fila:

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

¿Soy yo o struts? TIA.

¿Fue útil?

Solución

Agregue la propiedad theme = " simple " me gusta

Otros consejos

Struts2 representa s: casilla de verificación como una celda de tabla en sí. El motivo es que struts2 utiliza un sistema de plantilla para la representación de etiquetas. El valor predeterminado es (como se define en struts-default.properties)

Tema de interfaz de usuario estándar

struts.ui.theme = xhtml

struts.ui.templateDir = plantilla

struts.ui.templateSuffix = ftl

Necesita hacer este cambio - struts.ui.theme: simple

Se puede hacer agregando

nombre constante = " struts.ui.theme " valor = " simple " / > etiqueta

en el " struts.xml ". Esto será suficiente.

Debe examinar el tema que se está utilizando para la representación de su etiqueta de formulario. Struts2 utiliza un sistema de plantillas (definido en struts.properties). Parece que está utilizando la plantilla xhtml de forma predeterminada, que está diseñada para generar una tabla de dos columnas. Puede usar el valor predeterminado simple en la aplicación o anularlo en el nivel de etiqueta (u otras cinco jerarquías intermedias).

Aquí hay más información: http: // struts. apache.org/2.0.14/docs/themes-and-templates.html

Al definir su casilla de verificación, use " theme = simple " atributo como se muestra a continuación:

El " simple " El tema pondrá su casilla de verificación en la misma fila que los otros campos de su. Saludos.

El problema es que con el tema de struts predeterminado, s:checkbox es una celda de tabla en sí. (Struts 2 lo representa como una celda de tabla)

En su jsp lo incluye en <td> etiquetas nuevamente (lo cual no es necesario)

Intente eliminar las etiquetas <=> alrededor de la etiqueta de la casilla de verificación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top