Olá pessoal.
Estou iniciando com o aprendizado em STRUTS, e estou tomando um verdadeiro "baile".
Mas, com auxilio de um amigo que já usa STRUTS a alguma tempo, tentei fazer o meu primeiro cadastro.
Só que não estou conseguindo(nem ele) identificar onde está ocasionando tal erro.
Sabemos que esse erro normalmente é por causa de mapeamento errado no struts-config, entretanto não estamos vendo nada que esteja errado.
Gostaria que vocês dessem uma olhada e se possivel informar o que estou fazendo de errado.
ERRO:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Exception creating bean of class br.unicamp.eco.agendamento.struts.form.EquipamentosForm: {1}
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.pages.equipamento_005fcadastro_jsp._jspService(equipamento_005fcadastro_jsp.java:119)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
root cause
javax.servlet.jsp.JspException: Exception creating bean of class br.unicamp.eco.agendamento.struts.form.EquipamentosForm: {1}
org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:482)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:452)
org.apache.jsp.pages.equipamento_005fcadastro_jsp._jspx_meth_html_form_0(equipamento_005fcadastro_jsp.java:167)
org.apache.jsp.pages.equipamento_005fcadastro_jsp._jspService(equipamento_005fcadastro_jsp.java:108)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.
struts-config.xml
[code]<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE struts-config PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 1.1//EN” “http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd”>
<struts-config>
<!-- ========== Data Source Configuration =============================== -->
<data-sources />
<!-- ========== Form Bean Definitions ================================== -->
<form-beans>
<form-bean name="equipForm" type="br.unicamp.eco.agendamento.struts.form.EquipamentosForm" />
</form-beans>
<!-- ========== Global Exception Definitions ============================== -->
<global-exceptions />
<!-- ========== Global Forward Definitions =============================== -->
<global-forwards>
<forward name="equipamento_cadastro" path="/pages/equipamento_cadastro.jsp" />
</global-forwards>
<!-- ========== Action Mapping Definitions =============================== -->
<action-mappings>
<action
attribute="EquipamentosForm"
input="/pages/equipamento_cadastro.jsp"
name="equipForm"
parameter="reqCode"
path="/cad"
scope="session"
type="br.unicamp.eco.agendamento.struts.action.EquipamentoAction"
validate="true" />
</action-mappings>
<!-- ========== Controller Configuration ================================ -->
<controller />
<!-- ========== Message Resources Definitions ============================ -->
<!-- ========== Plug Ins Configuration ================================= -->
<message-resources parameter="br.unicamp.eco.agendamento.struts.MessageResources" />
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
<set-property property="stopOnFirstError" value="false" />
</plug-in>
</struts-config>
[/code]
EquipamentoAction
package br.unicamp.eco.agendamento.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import br.unicamp.eco.agendamento.entidades.Equipamentos;
import br.unicamp.eco.agendamento.entidades.controle.ControleFactory;
import br.unicamp.eco.agendamento.struts.form.EquipamentosForm;
public class EquipamentoAction extends DispatchAction {
public ActionForward confirmar(ActionMapping map, ActionForm form, HttpServletRequest
request, HttpServletResponse response) {
EquipamentosForm equipForm = (EquipamentosForm) form;
Equipamentos equip = new Equipamentos();
//HttpSession sessao = request.getSession();
equip.setCodequipamento(Integer.parseInt(equipForm.getTxtcodequipamento()));
equip.setDescricao(equipForm.getTxtdescricao());
ControleFactory.getInstance().getEquipamentoControle().novoEquipamento(equip);
return null;
}
}
EquipamentosForm
[code]package br.unicamp.eco.agendamento.struts.form;
/**
- Formulário de Cadastro da tabela Equipamentos
-
@author Anderson Carlos Barbosa (anderson@eco.unicamp.br)
*/
import org.apache.struts.action.ActionForm;
public class EquipamentosForm extends ActionForm {
private String txtcodequipamento;
private String txtdescricao;
/*public final void limpar(ActionMapping mapping, HttpServletRequest request) {
txtcodequipamento = "";
txtdescricao = "";
}*/
/*public final ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
HttpSession sessao = request.getSession();
ActionErrors listaErros = new ActionErrors();
return listaErros;
}*/
public String getTxtcodequipamento() {
return txtcodequipamento;
}
public void setTxtcodequipamento(String txtcodequipamento) {
this.txtcodequipamento = txtcodequipamento;
}
public String getTxtdescricao() {
return txtdescricao;
}
public void setTxtdescricao(String txtdescricao) {
this.txtdescricao = txtdescricao;
}
}
[/code]
Se precisarem de mais algum arquivo, é só falar.
Agradeço pela atenção!