Opa :d
Tenho uma tabela em uma jps que lista os dados de um bean. Dentro desse bean, eu aponto para uma entity mas nao esta sendo listado nada. Eu preciso sempre listar a entidade diretamente. Nao tem como o struts2 acessar um objeto dentro de outro atraves de ponto?
Ex:
name="usuarioTO.nome"
E este usuarioTO estar dentro do objeto usuarioForm?
Meu codigo esta da seguinte maneira:
Action
public class ListUsuariosAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private List<UsuarioForm> usuarios;
public String execute(){
UsuarioDelegate usuarioDelegate = new UsuarioDelegate();
usuarios = new ArrayList<UsuarioForm>(usuarioDelegate.listarUsuarios());
return SUCCESS;
}
public List<UsuarioForm> getUsuarios() {
return usuarios;
}
public void setUsuarios(List<UsuarioForm> usuarios) {
this.usuarios = usuarios;
}
Delegate
public Collection<UsuarioForm> listarUsuarios(){
UsuarioBO usuarioBO = new UsuarioBO();
Collection<UsuarioTO> usuarios = usuarioBO.listarUsuarios();
Collection<UsuarioForm> users = new ArrayList<UsuarioForm>();
for(UsuarioTO usuarioTO : usuarios) {
UsuarioForm usuarioForm = new UsuarioForm();
usuarioForm.setUsuarioTO(usuarioTO);
}
return users;
}
Form
public class UsuarioForm {
private UsuarioTO usuarioTO;
// gets e sets
}
jsp
<s:iterator value="usuarios">
<tr>
<td><s:property value="usuarioTO.nome"/></td>
<td>
<s:url id="linkAlterar" action="../usuario/carregarUsuario.action" >
<s:param name="usuarioForm.usuarioTO.id"><s:property value="id"/> </s:param>
</s:url>
<s:a href="%{linkAlterar}">Alterar</s:a>
<s:url id="linkRemover" action="../usuario/removerUsuario.action" >
<s:param name="usuarioForm.usuarioTO.id"><s:property value="id"/> </s:param>
</s:url>
<s:a href="%{linkRemover}">Remover</s:a>
</td>
</tr>
</s:iterator>
Abs
Solucao: usei o proprio usuarioTO.nome e o problema era que a colecao nao estava sendo preenchida corretamente