TagLibs - passar valores para a taglibs

ola pessoal
eu tenho uma taglib que estou criando, onde eu tenho que gerar um selecMenu
porem, estou tendo alguns problemas
considerando a seguinte taglib(nao esta completa, ainda tenho que terminar, mas preciso resover este problema primeiro)

selecMenu.tag

<%@ tag pageEncoding="UTF-8"%>
<%@ attribute name="nome" type="java.lang.String" required="true"%>
<%@ attribute name="lista" type="java.util.Map" required="true"%>
	<select name="${ nome }" id="status">
		<option value="0"></option>
		<option value="1">Ativo</option>
		<option value="2">Inativo</option>
	</select>

porem, como eu faco pra passar o valor de “lista” pra ela?
eu tentei da seguinte forma e nao deu certo

<jm:selecMenu nome="pessoaSexo" lista="${ Sexo.getSexoLista() }"></jm:selecOne>

o erro que recebo

org.apache.jasper.JasperException: /pessform.jsp(36,14) The function getSexoLista must be used with a prefix when a default namespace is not specified
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
	org.apache.jasper.compiler.Validator$ValidateVisitor$1FVVisitor.visit(Validator.java:1478)
	org.apache.jasper.compiler.ELNode$Function.accept(ELNode.java:129)
	org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:200)
	org.apache.jasper.compiler.ELNode$Visitor.visit(ELNode.java:242)
	org.apache.jasper.compiler.ELNode$Root.accept(ELNode.java:56)
	org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:200)
	org.apache.jasper.compiler.Validator$ValidateVisitor.validateFunctions(Validator.java:1503)
	org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1139)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:819)
	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
	org.apache.jasper.compiler.Validator.validate(Validator.java:1737)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:178)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
	com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
	org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
	org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)

como eu faco neste caso?

abs
T+

Amigo, vc não especificou se esta sua lista será populada por um servlet ou ua lógica vraptor, etc, etc… Vou partir do princípio que tu tenhas já em sessão (por exemplo) uma lista de sexos (List sexos).

Sendo assim, mude de:

por isto:

<jm:selecMenu nome="pessoaSexo" lista="${sexos}"></jm:selecOne>

Tente lá, se nao der, poste aqui como vc pensa em fazer para popular a tua lista ou commo vc está implementado que fica mais facil ajuda-lo…

Abraços…

mals libajunior

na verdade vem de um Enun, entao os dados ja estao prontos.

porem, eu vi que tinha que usar um jsp:useBean, porem, como se trata de um enun, eu nao posso instanciar eles.
entao deu caquinha o que queria fazer.
e pra resolver isso eu teria que criar uma classe de “listas”, e ela acessaria os enuns, mas isso ta meio POG, entao deixei meio que de lado.
porem, se tu tiver uma solucao, sera bem vinda.

eu fiz uma classe que gera o select, se quizer da uma olhada e opnar sobre essa outra forma que tentei utilizar, sera bem vinda
o link do post
http://www.guj.com.br/posts/list/0/94454.java
abs
obrigado

T+ cara

Com EL voce nao pode invocar metodos arbitrarios, infelizmente. Somente ira funcionar aqueles metodos que tenham um getter (getAlgumaCoisa, como o seu getSexoLista), e nao recebam parametros. A invocacao deve ser sem o get, como em

${sexo.sexoLista}

Sem getter, nada feito.

Rafael