Pessoal,
Boa tarde.
Criei uma action chamada usuarioList, que deveria retornar todos os usuários do sistema, mas não está acontecendo nada.
O mais estranho que o progrma até vai para página descrita no strtus.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.devMode" value="true" />
<package name="default" extends="struts-default">
<default-interceptor-ref name="paramsPrepareParamsStack"/>
<action name="usuarioList" class="action.UsuarioAction" >
<result name="input">pages/list.jsp</result>
<result>pages/list.jsp</result>
</action>
<action name="doLogin" class="action.UsuarioAction" method="loga">
<result name="input">index.jsp</result>
<result name="error">index.jsp</result>
<result>loginsuccess.jsp</result>
</action>
</package>
</struts>
Meu usuário action:
*/
package action;
/**
*
* @author danielti
*/
import java.util.List;
import model.Usuario;
import service.UsuarioService;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Preparable;
public class UsuarioAction extends ActionSupport implements Preparable {
private UsuarioService service;
private List<Usuario> usuarios;
private Usuario usuario;
private Integer id;
private String senha;
private String login;
public UsuarioAction(UsuarioService service) {
this.service = service;
}
@Override
public String execute() {
System.err.println("Entrou na Action");
this.usuarios = service.findAll();
return Action.SUCCESS;
}
public String save() {
this.service.save(usuario);
this.usuario = new Usuario();
return execute();
}
public String remove() {
service.remove(id);
return execute();
}
public String loga() {
if (service.loga(this.getLogin(), this.getSenha())) {
return Action.SUCCESS;
} else {
addActionError("Usuário ou senha não encontrado, por favor tente novamente !");
return Action.ERROR;
}
}
public List<Usuario> getUsuarios() {
return usuarios;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public void prepare() throws Exception {
if (id != null) {
usuario = service.find(id);
}
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public void setUsuarios(List<Usuario> usuarios) {
this.usuarios = usuarios;
}
}
List.jsp:
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@page contentType="text/html" pageEncoding="ISO-8859-1"%>
<p>Usuários</p>
<table>
<s:iterator value="usuarios">
<tr id="row_<s:property value="id"/>">
<td>
<s:property value="nome" />
</td>
<td>
<s:property value="login" />
</td>
<td>
<s:url id="removeUrl" action="usuarioRemove">
<s:param name="id" value="id" />
</s:url>
<s:a href="%{removeUrl}" theme="ajax" targets="usuarios">Remove</s:a>
<s:a id="a_%{id}" theme="ajax" notifyTopics="/edit">Edit</s:a>
</td>
</s:iterator>
</table>
usuario.jsp:
<%@ page contentType="text/html" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<link href="<s:url value="/css/main.css"/>" rel="stylesheet" type="text/css"/>
</head>
<body>Cadastro de Usuários
<s:url action="usuarioList" id="descrsUrl"></s:url>
<table>
<s:div id="usuarios" theme="ajax" href="%{descrsUrl}" loadingText="Loading..." listenTopics="/refresh"/>
</table>
</body>
</html>
Alguém poderia me ajudar?
O método doLogin já funciona normalmente, não entendi o motivo de um funcionar r outro não já que a configuração está praticamente a mesma.
Obrigado,