Struts select

9 respostas
jgbt

Seguinte:
To tentando montar uma lista com valores de um bean e ta dando o seguinte erro:

org.apache.jasper.JasperException: Cannot find bean under name org.apache.struts.taglib.html.BEAN

Tentei montar a lista usando o LabelValueBean do Struts e deu o mesmo erro.
Baixei um exemplo usando o mesmo codigo e ta funcionado.
Criei uma nova aplicação e colei o codigo da pagina que funciona e deu o mesmo erro.
Alguém sabe o que é isso???

[]'s

9 Respostas

ricardolecheta

explique melhor o q vc quer, coloque o código de sua FormBean, e a taglib que vc está tentando fazer…

ai eu tento ajudar, blz?

jgbt

To sem os codigos aqui, mas vou tentar explicar.
Bom é o seguinte:
Tenho um ArrayList com instancias de um bean.
Usando a tag logic:iterate consigo iterar a lista e mostar as propiedades do bean sem problemas.
Quando tento criar a lista drop-down com tag html:select ta disparando aquela exception.Baixei o exemplo da mundo java sobre Struts e vi que ele usa a classe LabelValueBean p/ criar uma lista e consigo executar o exemplo.Criei uma pagina usando essa classe p/ gerar a collection e consigo iterar ela e montar um tabela, mas quando tento criar a lista dispara a mesma exception.Parece que o problema é qundo tento criar lista drop-down.Não sei se preciso configurar alguma coisa.As tld’s do Struts não estão registradas no web.xml, mapeio elas direto na pagina, não sei se pode ser isso.Não sei se consegi explicar, mas se vc tiver alguma ideia do que seja, fico agradecido.
Estou usando win2000, tomcat4.1.24 e struts1.1.
Fico no aguardo.

[]'s

ricardolecheta

veja se os parametros estao certos…
http://www.google.com.br/search?q="Cannot+find+bean+under+name"+%2B+struts&ie=UTF-8&oe=UTF-8&hl=pt-BR&btnG=Pesquisa+Google&meta=

ricardolecheta

tem este link, talvez ajude:
http://www.reumann.net/do/struts/lesson2/step14

jgbt

ricardo,
Ja tentei de outras maneiras, mas da uma olhada no ultimo codigo que eu tentei:

<%@ page language="java" import="java.util.*,org.apache.struts.util.*"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%
  java.util.List tipos = new Vector();
  tipos.add(new LabelValueBean("Teste 1", "1"));
  tipos.add(new LabelValueBean("Teste 2", "2"));
  tipos.add(new LabelValueBean("Teste 3", "3"));
  pageContext.setAttribute("tipos", tipos);
%>
<html:html locale="true">
<head>
<title></title>
<html:base/>
</head>
<body bgcolor="#FFFFFF">
<h3></h3>
<html:errors />
<table>
<tr>
	<td>
	      <html:select property="tipo">
	        <html:options collection="tipos" property="value" labelProperty="label"/>
      	      </html:select>
	</td>
</tr>
</table>
</body>
</html:html>

Copiei esse codigo do exemplo da mundo java, foi a ultima tentativa desesperada…
O engraçado é que o exemplo funciona, mas quando eu crio a minha propria pagina da erro.
Todas as tags estão funcionando perfeito, mas quando tento utilizar a tag <html:select da pau, de qualquer maneira que eu tente.
Vou dar uma olhada nos links que vc passou.
Se tiver mais alguma dica manda ai…
Valeu!

[]'s

ricardolecheta

tente colocar um html:form ao redor de tudo, ai coloque esta lista na formbean e associe esta form com a action que vc vai fazer…

talvez o struts está se perdendo por o html:select nao estar associado com uma formbean :wink:

jgbt

Ae Ricardo,

Consegui fazer funcionar, o property da tag <html:select tem que ser uma propiedade de um bean, não é isso??
So me responde 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!!!

[]'s

ricardolecheta

nao, o property da tag select é um attributo da sua FormBean, por isso vc precisa associar este código com uma Action/Form no Struts.

na Form deve ter um “String tipo” que conterá o valor selecionado no html:select quando vc fizer submit.

a property no <html:options está no seu bean

N

e aih pessoal blz? soh leigo , mas comecei a fazer um curso nu infnet de formação em java e acabo nu inicio de janeiro…mas eu qro aprender struts ants do curso me ensinar p/ eu ja começar a estagiar fazendo struts…estou com dificuldade de fazer as ACTION , vou mandar os comandos da q eu fiz certo…SalvaDadosAction :
public class SalvaDadosAction extends Action{

public ActionForward execute(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)throws Exception {
	
	SalvaDadosForm myForm = (SalvaDadosForm)form;
		
	ClienteTO cliente = new ClienteTO();
	cliente.setNome(myForm.getNome());		
	cliente.setEmail(myForm.getEmail());
	cliente.setCpf(myForm.getCpf());
	cliente.setTelefone(myForm.getTelefone());	
	cliente.setIdade(myForm.getIdade());
	
	ClienteDAO dao = new ClienteDAO();
	dao.insert(cliente);		
			
	
	return mapping.findForward("sucesso");
}

}

mas estou com dificuldade de fazer o mesmo com select e update (MostrarClienteAction e AlterarClienteAction)

Qm puder responder por favor…obnrigado pela atenção galera…

Criado 30 de janeiro de 2004
Ultima resposta 25 de nov. de 2007
Respostas 9
Participantes 3