fiaux, entendi…implementei os metodos gets…
Agora estou com um problema, pois a minha action nao esta consiguindo fazer o redirecionamento…Nao encontra o redirecionamento…Da o seguinte erro:
SEVERE: Could not find action or result
No result defined for action br.com.simple.action.FrontController and result cadastrar - action - file:/R:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/simple/WEB-INF/classes/struts.xml:74:50
segue o codigo fonte:
STRUTS.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>
<!-- Localização -->
<constant name="struts.locale" value="pt_BR"/>
<!-- habilita o uso de outros métodos de action internamente na classe action -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="false" />
<!-- Modo de desenvolvimento: recarrega alterações e reporta erros que poderiam ser ignorados -->
<constant name="struts.devMode" value="true" />
<!-- Define um pacote de classes. -->
<package name="simpleDefault" extends="struts-default">
<action name="action1" method="controller"
class="br.com.simple.action.FrontController">
</action>
<action name="action2" method="teste"
class="br.com.simple.action.UsuarioAction">
<result>/simple/pages/home.jsp</result>
</action>
</package>
</struts>
WEB.XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app
id="WebApp_ID"
version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- Nome da WebApp -->
<display-name>simple</display-name>
<welcome-file-list>
<welcome-file>pages/index.jsp</welcome-file>
</welcome-file-list>
<!-- Filtros -->
<filter>
<filter-name>strutsFilter</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!-- Mapeamento dos filtros -->
<filter-mapping>
<filter-name>strutsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<resource-ref>
<description>postgreSQL Datasource example</description>
<res-ref-name>jdbc/postgres</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
JSP
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@taglib uri="/struts-tags" prefix="s" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script language="Javascript">
function setCadastrar() {
document.getElementById('acao').value = 'cadastrar';
}
function setDeletar() {
document.getElementById('acao').value = 'deletar';
}
function setAlterar() {
document.getElementById('acao').value = 'alterar';
}
function setProcurar() {
document.getElementById('acao').value = 'procurar';
}
</script>
<title>Menu</title>
</head>
<body>
<s:form action="action1" method="POST" >
<s:textfield name="usuario.nome" label="Nome" />
<s:submit value="Cadastrar" onclick="setCadatrar();" />
<s:submit value="Deletar" onclick="setDeletar();" />
<s:submit value="Alterar" onclick="setAlterar();" />
<s:submit value="Procurar" onclick="setProcurar();" />
<s:hidden id="acao" name="acao" />
</s:form>
</body>
</html>
ACTION DE REDIRECIONAMENTO
package br.com.simple.action;
import org.apache.struts2.config.Result;
import org.apache.struts2.dispatcher.ServletActionRedirectResult;
import br.com.simple.model.Usuario;
import com.opensymphony.xwork2.ActionSupport;
@Result( name = "cadastrar", value = "action2", type = ServletActionRedirectResult.class, params = { "usuario.nome", "${usuario.nome}" } )
public class FrontController extends ActionSupport {
private String acao;
private Usuario usuario;
private String nome;
public String getNome() {
return this.nome;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getAcao() {
return acao;
}
public void setAcao(String acao) {
this.acao = acao;
}
public String controller() {
if(acao.equalsIgnoreCase("cadastrar")) {
return "cadastrar";
}
return "error";
}
}
Tem alguma coisa errada??? Preciso fazer outra configuração no web.xml ou struts.xml?
Agradeço a ajuda.