Renderização Struts 2 - Dúvida

Dae galera, seguinte… sou novo em Struts 2, estou montando um projeto apenas para pegar a manha e estou com uma dúvida quanto a rederização da página quando utilizo tags do struts.
O código é o seguinte:::

<s:form>
<s:div cssClass="conteudo">
	<h1><s:text name="apr.login" /></h1>
	
	<s:div cssClass="conteudo_login" >
				<table>
					<tr>
						<td><s:textfield key="apr.user" name="login" size="10" maxlength="9"/></td>
					</tr>
					<tr>
						<td><s:textfield key="apr.senha" name="senha" size="10" maxlength="9"/></td>
					</tr>
					<tr>
						<td align="right"><s:submit key="apr.login" action="Login_login" /></td>
					</tr>
				</table>
	</s:div>
</s:div>
</s:form>

O problema é o seguinte. As tags do struts parecem ser renderizadas antes da minha table, consequentemente ao ser apresentada, a tela fica com os campos Usuário/Senha/BotaoLogin fora das minhas divs.

Já tentei utilizar

ao invés de <s:div> e dentro da div “conteudo_login” colocar o <s:form> com a table dentro.
Dessa forma funciona, mas não quero ficar declarando <s:form> em toda parte do código.

O que eu quero saber é… Qual a forma correta de montar a estrutura utilizando a tag ‘s’?

Amigo, as tags de formulário do Struts2 renderizam, por padrão uma tabela. Tags como Divs e Spams já “empurradas” para fora dela.

Se não quiser que o framework renderize essa tabela, use them=“simple” na tag <s:form>.

Outra dica: prefira usar <div> a <s:div>. Uso Struts2 há anos e nunca vi vantagem no <s:div>.

[quote=jyoshiriro]Amigo, as tags de formulário do Struts2 renderizam, por padrão uma tabela. Tags como Divs e Spams já “empurradas” para fora dela.

Se não quiser que o framework renderize essa tabela, use them=“simple” na tag <s:form>.

Outra dica: prefira usar <div> a <s:div>. Uso Struts2 há anos e nunca vi vantagem no <s:div>.[/quote]

Dae jyoshiriro, cara valeu, funcinou…
(não sei se estou correto mas) um problema disso é que perco a a propriedade ‘key’ do meu textfield <s:textfield key=“apr.user”
e dai preciso criar <s:text name=“apr.user”>

fora isso vai de boa.