Erro ServletException

6 respostas
F

Senhores,

Estou iniciando com desenvolvimento web e estou com um problema/duvida de Struts.

Ao tentar executar minha pagina aparece a seguinte mensagem de erro:


javax.servlet.ServletException: ServletException in ‘/layouts/classicLayout.jsp’: ServletException in ‘/tiles/metricas/MetricaDadosCon.jsp’: Cannot find bean metricaList in any scope

O que esse erro quer dizer? que a “variavel” metricaList não existe?

mas no meu codigo eu coloquei isso:

No Action

request.setAttribute("metricaList", metricaList);

NO JSP o seguinte codigo:

<logic:iterate id="metricas" name="metricaList" type="String">
<td><%=metricas%></td>

Aonde eu estou errando? Alguem poderia me ajudar?

Obrigado,

Fabiano.

6 Respostas

esb

Fala Fabiano,

Debugue e veja se a coleção está sendo armazenada corretamente na requisição. Se estiver, a coleção não estaria nula?

Bem, apenas uma suposição, poste mais informações e te ajudamos.

[]s
Eduardo

F

Legal,

Debuguei o codigo e a coleção está sendo armazenada, o problema é na hora de recupera-lá no JSP, é onde ocorre esse erro.

Esse codigo que eu coloquei:

<logic:iterate id="metricas" name="metricaList" type="String">
 <td><%=metricas%></td>

É o correto para recuperar essa coleção?

Fabiano.

esb

Teoricamente sim… não consigo ver o erro, se puder poste o código inteiro, inclusive do servlet onde você coloca essa collection na requisição.

F

Segue o codigo:

&lt;%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %&gt;
&lt;%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %&gt;
&lt;%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" width="400"&gt;
	&lt;tr&gt;
		&lt;td colspan="2" class="page-title"&gt;Métricas Consolidado&lt;/td&gt;
	&lt;/tr&gt;
    &lt;tr&gt;
      &lt;td colspan="2" class="page-subtitle"&gt;Resultado da pesquisa - Métricas Consolidado &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
  <br/>
  
&lt;center&gt;

&lt;table border="1"&gt;
	&lt;tr&gt;
		&lt;td&gt;Data&lt;/td&gt;
		&lt;logic:iterate id="metricaList" name="metricaList" type="String"&gt;
		&lt;td&gt;&lt;%=metricaList%&gt;&lt;/td&gt;
		&lt;/logic:iterate&gt;
		&lt;td&gt;Resultado&lt;/td&gt;	
	&lt;/tr&gt;
&lt;/table&gt;
&lt;/center&gt;

e a classe Action:

public ActionForward execute(
			ActionMapping mapping, 
			ActionForm form, 
			HttpServletRequest request, 
			HttpServletResponse response) throws Exception {
				
		ActionForward forward = new ActionForward();
		ActionErrors errors = new ActionErrors();
		
		MetricaFormCon metricaFormCon = (MetricaFormCon)form;
	
		
		String[] metricaList = MetricaHelper.getMetricaList( metricaFormCon.getGrupo(), 
				metricaFormCon.getPeriodicidade());
		
		request.setAttribute("metricaList", metricaList);
		
		if (!errors.isEmpty()){
			saveErrors(request, errors);
			forward = mapping.findForward("failure");
		} else {
			forward = mapping.findForward("success");
		}
		return (forward);
		
	}

A classe do Action eu acredito que esteja tudo ok, pois eu debuguei e a “variavel” metricaList está retornando com valor. O problema é recuperar essa “variavel” no JSP.

Valeu,

Fabiano.

F

Acabei de achar o problema,

o vetor está retornando null.

Agora eu preciso ver porque está retornando null.

F

Ao fazer a consulta retorna esse erro:


Caused by: org.jboss.resource.JBossResourceException: Failed to register driver for: oracle.jdbc.pool.OracleConnectionPoolDataSource; - nested throwable: (java.lang.ClassCastException)

Fiz um pesquisa e não achei nada precido com esse erro.

Alguém saberia me dizer o que quer dizer esse erro?

Obrigado.

Fabiano.

Criado 25 de outubro de 2006
Ultima resposta 25 de out. de 2006
Respostas 6
Participantes 2