struts2: s: checkbox não vai na mesma linha com s: checkbox
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.
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.