dúvida de iniciante (Cannot find bean in any scope)

9 respostas
H

Alguem poderia me ajudar com esse erro?

// FORM BEANS

<form-bean name="menuBean"
type="br.com.xxx.struts.actions.MenuBean"/>

// ACTION STRUTS_CONFIG

<action	
       path="/actions/menu"
    type="br.com.xxx.struts.actions.Menu"
       scope="session" 
       name="menuBean"
       validate="false">

        <forward
         name="success"
          path="/principal.jsp"/>
    </action>

// ACTION CLS

public class Menu extends Action {

public ActionForward executeMonitor ( ActionMapping 	 	map  ,
			              	       	      ActionForm 		frm  ,
			                              HttpServletRequest 	req  ,
                                                          HttpServletResponse 	resp ) {

	ArrayList vetor = null;
	MenuBean bean = (MenuBean)frm;
	bean.setDescricaoMenu("Menu 1");
	
	bean.setHabilitado(true);
	
	
	vetor.add(bean);
	req.setAttribute("vetor",vetor);

	return(map.findForward("success"));

}

}

// JSP

<html:form action="/actions/menu">
<logic:iterate id=“menuBean” name=“vetor”>
<bean:write name=“menuBean” property=“DescricaoMenu”/>
</logic:iterate>
</html:form>

//ERRO

javax.servlet.ServletException: Cannot find bean vetor in any scope

org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)

org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)

org.apache.jsp.principal_jsp._jspService(principal_jsp.java:215)

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:324)

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)

org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)

org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)

org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)

org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)

org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)

org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)

9 Respostas

L

verifique se na sua classe existe uma propriedade chamada “vetor”.

H

Como seria a propriedade na classe? A classe que você diz seria a classe do Form?

F

Ele tah falando na classe que extende ActionForm

H

ela está assim, deveria ter o vetor aqui? como ficaria?

public class MenuBean extends ActionForm {

private String DescricaoMenu;
private boolean Habilitado;

public void setDescricaoMenu (String DescricaoMenu) {
	this.DescricaoMenu = DescricaoMenu;
}

public String getDescricaoMenu () {
	return(this.DescricaoMenu);
}

public void setHabilitado (boolean Habilitado) {
	this.Habilitado = Habilitado;
}

public boolean getHabilitado () {
	return(this.Habilitado);
}

}

H

Pessoal ainda estou com esse problema, alguem pode me ajudar? :smiley:

H

por favor alguem me ajude :shock:

H

<html:form action="/actions/menu">

</html:form>

eu tenho que ter essas linhas no JSP antes do iterate?

H

:frowning:

F

A propriedade vetor não pertence ao bean portanto vc não pode chamar ela pelo bean. Tente usar assim :

<html:form action="/actions/menu.do">
<logic:iterate id=“vetor” name=“i”>
<bean:write name=“i” property=“DescricaoMenu”/>
</logic:iterate>
</html:form>

e isso só vai funcionar de a partir do action menu vc redirecionar para a página que vai usar o iterate se não ele vai não vai achar a propriedade

Criado 24 de outubro de 2006
Ultima resposta 30 de out. de 2006
Respostas 9
Participantes 4