Boa tarde Pessoal!
Venho quebrando a cabeça a alguns dias e tenho achado muito dificil "manusear" ambas ferramentas em conjunto.
Quero fazer um esqueminha simples, onde eu entro com nome, sobrenome e id. Faço uma verificacao de nao deixar os campos nome e sobrenome nulos.
Até ai tudo bem.
O que tenho é isso :
Struts-Config<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="personalForm" type="PersonalForm"/>
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
<forward name="welcome" path="/Welcome.do"/>
<forward name="userLogin" path="/userLogin.do"/>
</global-forwards>
<action-mappings>
<action input="/userLogin.vm" name="form" path="/userLogin" type="PersonalAction">
<forward name="success" path="/success.vm" />
<forward name="failure" path="/failure.vm" />
</action>
<action path="/Welcome" forward="/welcomeStruts.vm"/>
<action type="org.apache.struts.actions.ForwardAction" path="/userLogin" parameter="/userLogin.vm"/>
<action type="org.apache.struts.actions.ForwardAction" path="/failure" parameter="/failure.vm"/>
<action type="org.apache.struts.actions.ForwardAction" path="/success" parameter="/success.vm"/>
</action-mappings>
</struts-config>
<web-app>
<!-- Example Database Initialization Servlet Configuration
<servlet>
<servlet-name>database</servlet-name>
<servlet-class>org.apache.struts.example.DatabaseServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
-->
<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>validate</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Define Velocity template compiler -->
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/velocity.properties</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- Map *.vm files to Velocity -->
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- Example Application Tag Library Descriptor
<taglib>
<taglib-uri>/WEB-INF/app.tld</taglib-uri>
<taglib-location>/WEB-INF/app.tld</taglib-location>
</taglib>
-->
<!-- Struts Tag Library Descriptors -->
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
</web-app>
public class PersonalForm {
private String nome;
private String sobrenome;
private String id;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSobrenome() {
return sobrenome;
}
public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class PersonalAction extends Action {
public ActionForward executes(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res) {
PersonalForm psf = (PersonalForm) form; // Acredito que tenha algum enrrosco por aqui
String id = psf.getId();
String nome = psf.getNome();
String sobrenome = psf.getSobrenome();
if ((nome != null) && (sobrenome != null)) {
return mapping.findForward("sucess.vm");
} else
return mapping.findForward("failure.vm");
}
}
<form action="/userLogin.do" method="post">
<tr>
<td width="108">Nome</td>
<td width="250">
<input type="text" name="nome"value="$!personalForm.nome "style="width: 100%">
</td>
</tr>
<tr></tr>
<tr>
<td width="108">Sobrenome</td>
<td width="250">
<input type="text" name="sobrenome" value="$!personalForm.sobrenome"style="width: 100%">
</td>
</tr>
<tr></tr>
<tr>
<td width="108">ID</td>
<td width="250">
<input type="text" name="id" value="$!personalForm.id"style="width: 100%">
</td>
</tr>
<tr></tr>
<td width="382" align="right">
<input type="submit" value="Salvar">
</td>
</form>
O que está acontecendo :
Após preencher o form, quando sou redirecionado para a login.do, recebo o seguinte erro
type Status report
message /userLogin.do
description The requested resource (/userLogin.do) is not available.
O que fazer?