Como passar um objeto definido pelo usuario como parametro de um método dentro de uma EL?

6 respostas
Rafael_Nascimento

Como passar um objeto definido pelo usuario como parametro de um método dentro de uma EL?

um exemplo do que seria, utilizando o prime faces:
a linha 5 chamaria o metodo do bean passando o item como parametro

<h:form id="form">
				<p:dataGrid var="item" value="#{bean.list}" 
							columns="6" effect="true">
					<p:column>
						<p:commandLink action="#{bean.myMethod(item)}"  
											   title="item as a parameter">								
						</p:commandLink>						
					</p:column>
				</p:dataGrid>
			</h:form>

obrigado

6 Respostas

R

Pesquisa por JBoss-EL (Não precisa estar usando o JBoss)

Rafael_Nascimento

olá, Raf4ever, segui sua dica, mas a aplicação disparou esse erro qdo subi o apache 7:

Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
com.sun.faces.config.ConfigurationException: It appears the JSP version of the container is older than 2.1 and unable to locate the EL RI expression factory, com.sun.el.ExpressionFactoryImpl.  If not using JSP or the EL RI, make sure the context initialization parameter, com.sun.faces.expressionFactory, is properly set.
	at com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:639)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:238)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4681)
	at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5184)
	at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5179)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

segue meu web.xml

<!-- JBOSS EL -->
	<context-param>
		<param-name>com.sun.faces.expressionFactory</param-name>
		<param-value>org.jboss.el.ExpressionFactoryImp</param-value>
	</context-param>

o que deu errado?

pedruhenrik

vc quer algo equivalente ao jsf tipo em outro framework?

&lt;c:url value='/usuario/alterar'/&gt;?usuario.idUsuario=${usuario.idUsuario}"&gt;${usuario.nomeUsuario}</a>

usando vraptor eu faço assim, desculpa ae se entendi errado hehe.

att,

Rafael_Nascimento

valeu Pedruhenrik, mas a solução indicada pelo Raf4ever é a que eu preciso. Mas preciso saber por que não deu certo

sammers21

Usa assim pelo menos comigo da certo! mas apenas em tipo primitivos! nunca tentei com objetos class.

<p:commandLink action="#{bean.setMyMethod(item)}" title=“item as a parameter”>

Rafael_Nascimento

mas será que alguém sabe por que o JBoss-EL da esse erro?

Criado 5 de julho de 2011
Ultima resposta 6 de jul. de 2011
Respostas 6
Participantes 4