Olá Galera,
Estou tentando fazer funcionar um exemplo do Struts 2 para na mesma action eu conseguir acessar os demais metodos, porem nao esta acontecendo nada a tela so pisca e limpa o campo:
Estou utilizando as libs:
commons-fileupload-1.1.1.jar
commons-logging-1.0.4.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-convention-plugin-2.1.6.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
Ai vai meu codigo:
struts.xml
<!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.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="false" />
</struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" 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">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>br.com.maps.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Minha action:
package br.com.maps.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
import com.opensymphony.xwork2.validator.annotations.Validations;
@SuppressWarnings("serial")
@Results({
@Result(name = "success", location = "/resposta.jsp"),
@Result(name = "metodo1", location = "/resposta.jsp"),
@Result(name = "metodo2", location = "/resposta.jsp"),
@Result(name = "input", location = "/index.jsp")
})
public class HelloWorldAction extends ActionSupport {
private String requisicao;
private String resposta;
@Validations(requiredStrings = @RequiredStringValidator(fieldName = "requisicao", message = "Campo obrigatório"))
public String execute() {
this.resposta = "Olá! Eu estou executando METODO PRINCIPAL, com a seguinte requisição: ";
return "success";
}
public String metodo1() {
this.resposta = "Olá! Eu estou executando METODO 1, com a seguinte requisição: ";
return "metodo1";
}
public String metodo2() {
this.resposta = "Olá! Eu estou executando METODO 2, com a seguinte requisição: ";
return "metodo2";
}
public String getRequisicao() {
return requisicao;
}
public void setRequisicao(String requisicao) {
this.requisicao = requisicao;
}
public String getResposta() {
return this.resposta + " [" + this.getRequisicao() + "].";
}
}
minha Pagina:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Exemplo de Hello World com Struts</title>
</head>
<body>
<s:form method="POST" >
<s:textfield name="requisicao" label="Digite algo" />
<s:submit value="principal" action="helloworld" />
<s:submit value="metodo 1" action="helloworld!metodo1" />
<s:submit value="metodo 2" action="helloworld!metodo2" />
</s:form>
</body>
</html>
Nao sei mais aonde mexer.
Alguem tem alguma ideia ?
Obrigado,
Rodrigo