Pergunta

Aqui está o 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>

Quando prestados, a caixa ocuparia uma linha inteira abaixo dos nomes ', centrado. Aqui está o HTML gerado para o que é suposto ser uma única linha:

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

É de mim ou struts? TIA.

Foi útil?

Solução

Adicione o tema property = "simples" como

Outras dicas

Struts2 torna s: checkbox como uma razão itself.The célula da tabela é tht struts2 usa um sistema modelo para renderização tag. O padrão é (conforme definido na struts-default.properties)

UI padrão tema

struts.ui.theme = xhtml

struts.ui.templateDir = template

struts.ui.templateSuffix = ftl

Você precisa fazer essa alteração - struts.ui.theme: simples

Isso pode ser feito através da adição

nome constante = valor "struts.ui.theme" = "simples" /> tag

no "struts.xml" .Esta suficientes wil.

Você precisa olhar para o tema que está sendo usado para sua renderização forma tag. Struts2 utiliza um sistema modelo (definido em struts.properties). Parece que você está usando o modelo XHTML por padrão que é projetado para saída de uma tabela de duas colunas. Você pode padrão para simples no aplicativo ou substituí-lo no nível do tag (ou cinco outras hierarquias entre eles).

Aqui está mais algumas informações: http: // struts. apache.org/2.0.14/docs/themes-and-templates.html

Ao definir a sua opção, use "theme = simples" atributo, como mostrado a seguir:

O tema "simples" irá colocar o seu caixa na mesma linha como outros campos da sua. Felicidades.

O problema é que, com o tema suportes padrão, s:checkbox é em si uma célula da tabela. (Struts 2 processa-lo como uma célula da tabela)

Em seu jsp você incluí-lo em tags <td> novamente (o que não é necessária)

Tente remover as tags <td> em torno da tag caixa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top