Problema com JSP + Struts

5 respostas
L

Salve galera do Guj blz…

To precisando da ajuda de vcs… pode ateh ser uma duvida meio boba mas nao estou conseguindo resolver… estou tentando redirecionar um .jsp para uma classe java mas nao esta dando, abaixo tenho a seguinte jsp, as classes e o struts-config.xml… :

jsp:

<%@ taglib uri= "http://struts.apache.org/tags-html" prefix = "struts" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">


<head id="Head1">

    <title>Relatorio</title>

</head>


<body topmargin="0" leftmargin="0" class="sStylePadraoFundoTela">
     	
		<struts:form action = "efetuaAlgo">
			
		<struts:submit>Gerar Relatorio</struts:submit>
		
		</struts:form>

</body>
</html>

xml:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>
	<form-beans>
		<form-bean name="AlgoForm" type="forms.AlgoForm"></form-bean>
	</form-beans>

	<action-mappings>

		<action path="/efetuaAlgo" name="AlgoForm" scope="request"
			type="actions.AlgoAction">
			<forward name="erro" path="/erro.jsp" />
			<forward name="ok" path="/ok.jsp" />
		</action>

	</action-mappings>

</struts-config>

e as classes java…

a Action:

package actions;

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 AlgoAction extends Action{
	
	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		System.out.println("Testando...");		
	
		return mapping.findForward("ok");
	}
	
	public AlgoAction () {
		
	}	

}

e o Form:

package forms;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

public class AlgoForm extends ActionForm {

	@Override
	public void reset(ActionMapping mapping, HttpServletRequest request) {
	
	}

	@Override
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {		
				return null; //null para teste	
	}
}

Desde ja agradeço…
se conseguir fazer funfar vou usar isso para gerar relatorios mas na consigo nem fazer funfar ainda…
vlw :cry:

5 Respostas

ignacio83

Q erro esta dando?

L

Opss… esqueci da msg de erro:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: An exception occurred processing JSP page /relatorio1.jsp at line 36

33:             
34: 								
35: 	
36: 		<struts:form action = "efetuaAlgo">
37: 	
38: 		
39: 		<struts:submit>Gerar Relatorio</struts:submit>


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause 

javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception creating bean of class forms.AlgoForm under form name AlgoForm
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
	org.apache.jsp.relatorio1_jsp._jspService(relatorio1_jsp.java:114)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause 

javax.servlet.jsp.JspException: Exception creating bean of class forms.AlgoForm under form name AlgoForm
	org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:536)
	org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:503)
	org.apache.jsp.relatorio1_jsp._jspx_meth_struts_005fform_005f0(relatorio1_jsp.java:131)
	org.apache.jsp.relatorio1_jsp._jspService(relatorio1_jsp.java:96)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.

Valeuuu

ignacio83

Aparentemente está tudo certo…

Tenta mudar o nome no struts-config, Retirar esses dois métodos que vc sobrecarregou, dar um Clean no projeto…

ralphsilver

teste colocar na action do form “/efetuaAlgo.do”

<struts:form action = “/efetuaAlgo.do”>

L

Opaa valeu… deu certo :thumbup:

Criado 25 de agosto de 2009
Ultima resposta 26 de ago. de 2009
Respostas 5
Participantes 3