Struts

6 respostas
jgbt

Seguinte:
Toda vez que eu tento usar a tag <html:select do struts ta dando a exceção postada abaixo.
Se eu crio um ArrayList com instancias de um bean e iterar a lista com a tag <logic:iterate funciona legal, mas quando eu pego essa mesma lista e tento criar uma lista drop-down da o erro.Tenho exemplos baixados do struts que usam a tag <html:select e funciona mas quando eu crio o meu propio codigo da erro.Peguei um pagina com um exemplo que funciona e criei uma nova aplicação com ela mas lança a exceção.Não sei mais o que fazer, tudo ta funcionando mas essa tag da erro.
Abaixo a exceção e o codigo da ultima pagina que eu tentei fazer funcionar(Qualquer semelhança com o exemplo da mundo java não é coincidencia!!!).

org.apache.jasper.JasperException&#58; Cannot find bean under name org.apache.struts.taglib.html.BEAN
	at org.apache.jasper.servlet.JspServletWrapper.service&#40;JspServletWrapper.java&#58;254&#41;
	at org.apache.jasper.servlet.JspServlet.serviceJspFile&#40;JspServlet.java&#58;295&#41;
	at org.apache.jasper.servlet.JspServlet.service&#40;JspServlet.java&#58;241&#41;
	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;853&#41;
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;247&#41;
	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;193&#41;
	at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;256&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;643&#41;
	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;480&#41;
	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;995&#41;
	at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;191&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;643&#41;
	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;480&#41;
	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;995&#41;
	at org.apache.catalina.core.StandardContext.invoke&#40;StandardContext.java&#58;2415&#41;
	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;180&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;643&#41;
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke&#40;ErrorDispatcherValve.java&#58;171&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;641&#41;
	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;172&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;641&#41;
	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;480&#41;
	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;995&#41;
	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;174&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;643&#41;
	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;480&#41;
	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;995&#41;
	at org.apache.coyote.tomcat4.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;223&#41;
	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;594&#41;
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;392&#41;
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt&#40;PoolTcpEndpoint.java&#58;565&#41;
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;619&#41;
	at java.lang.Thread.run&#40;Thread.java&#58;536&#41;


root cause 

javax.servlet.ServletException&#58; Cannot find bean under name org.apache.struts.taglib.html.BEAN
	at org.apache.jasper.runtime.PageContextImpl.handlePageException&#40;PageContextImpl.java&#58;533&#41;
	at org.apache.jsp.select_jsp._jspService&#40;select_jsp.java&#58;87&#41;
	at org.apache.jasper.runtime.HttpJspBase.service&#40;HttpJspBase.java&#58;137&#41;
	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;853&#41;
	at org.apache.jasper.servlet.JspServletWrapper.service&#40;JspServletWrapper.java&#58;210&#41;
	at org.apache.jasper.servlet.JspServlet.serviceJspFile&#40;JspServlet.java&#58;295&#41;
	at org.apache.jasper.servlet.JspServlet.service&#40;JspServlet.java&#58;241&#41;
	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;853&#41;
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;247&#41;
	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;193&#41;
	at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;256&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;643&#41;
	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;480&#41;
	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;995&#41;
	at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;191&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;643&#41;
	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;480&#41;
	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;995&#41;
	at org.apache.catalina.core.StandardContext.invoke&#40;StandardContext.java&#58;2415&#41;
	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;180&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;643&#41;
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke&#40;ErrorDispatcherValve.java&#58;171&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;641&#41;
	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;172&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;641&#41;
	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;480&#41;
	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;995&#41;
	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;174&#41;
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext&#40;StandardPipeline.java&#58;643&#41;
	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;480&#41;
	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;995&#41;
	at org.apache.coyote.tomcat4.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;223&#41;
	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;594&#41;
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;392&#41;
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt&#40;PoolTcpEndpoint.java&#58;565&#41;
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;619&#41;
	at java.lang.Thread.run&#40;Thread.java&#58;536&#41;
&lt;%@ page language="java" import="java.util.*,org.apache.struts.util.*"%&gt;
&lt;%@ taglib uri="/tags/struts-bean" prefix="bean" %&gt;
&lt;%@ taglib uri="/tags/struts-html" prefix="html" %&gt;
&lt;%
  java.util.List tipos = new Vector&#40;&#41;;
  tipos.add&#40;new LabelValueBean&#40;"Teste 1", "1"&#41;&#41;;
  tipos.add&#40;new LabelValueBean&#40;"Teste 2", "2"&#41;&#41;;
  tipos.add&#40;new LabelValueBean&#40;"Teste 3", "3"&#41;&#41;;
  pageContext.setAttribute&#40;"tipos", tipos&#41;;
%&gt;
&lt;html&#58;html locale="true"&gt;
&lt;head&gt;
&lt;title&gt;&lt;/title&gt;
&lt;html&#58;base/&gt;
&lt;/head&gt;
&lt;body bgcolor="#FFFFFF"&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;html&#58;errors /&gt;
&lt;table&gt;
&lt;tr&gt;
	&lt;td&gt;
	      &lt;html&#58;select property="tipo"&gt;
	        &lt;html&#58;options collection="tipos" property="value" labelProperty="label"/&gt;
      	      &lt;/html&#58;select&gt;
	&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&#58;html&gt;

Alguem ja viu esse erro???

[]'s

6 Respostas

richardpeder

Olha cara…manjo super pouco de struts, mas toda opiniao eh bem vinda…

tá faltando algum import ae? Pq no erro, esta algo como not found alguma coisa…da uma olhada melhor nesse codigo ae…tipo, em java, geralmente o erro em si esta nas primeiras linhas do codigo de erro que a compilação gera…
é uma dica né… :smiley: :wink:

ate mais…

urubatan

aparentemente esta fantaldo a tag <html:form

marciolx

eu tive o mesmo problema usando uma tag logic:iterate e resolvi assim:

logic:iterate id=“mapa” name=“selecionaBancosForm” property=“mapa”

(onde selecionaBancosForm é o valor do atributo name do action específico deste form)

e para acessar os campos eu fiz uma tag assim:

bean:write name=“mapa” property=“key”/

jgbt

Ja usei com a tag form e deu o mesmo erro, essa foi a ultima tentativa desesperada.Copiei esse codigo do exemplo da mundo java e mesmo assim deu erro.O engraçado é que o exemplo funciona, mas quando eu crio o meu codigo da erro.
Todos objetos eu condigo iterar com a tag iterate, mas quando tento criar uma lista da pau.Não consigo fazer funcionar.
Vou ficar tentando…
Valeu por enquanto, se alguem tiver mais alguma dica manda ai…

[]'s

jgbt

Ae galera!

Consegui fazer funcionar, o property da tag <html:select tem que ser uma propiedade de um bean, não é isso??
So me respondam uma coisa:
Na tag <html:options o labelProperty é o label, mas o property é o valor do campo??Não deveria ser igual ao property da tag select???
Valeu a todos!!!
[]'s

C

Cara, explica melhor como vc resolveu!!! Estou com o mesmo problema. Valeu

Criado 1 de fevereiro de 2004
Ultima resposta 5 de jan. de 2007
Respostas 6
Participantes 5