Struts 2 + Hibernate + Spring

0 respostas
danielti

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,

Criado 16 de julho de 2008
Respostas 0
Participantes 1