JSF - size da lista [RESOLVIDO]

3 respostas
V

Quero exibir um texto apenas se existir valores em uma lista. Achava que o correto sera usar o size (exemplo abaixo). Entretanto não reconhece o size, ocorrendo a exeception.

Como realizar isso? alguém tem uma idéia ?

<h:outputText value="#{acaoComp.lista.size }" />
01/12/2010 09:59:22 com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
GRAVE: Error Rendering View[/xhtml/ver.xhtml]
java.lang.NumberFormatException: For input string: "size"
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at javax.el.ListELResolver.coerce(ListELResolver.java:167)
	at javax.el.ListELResolver.getValue(ListELResolver.java:51)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:71)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:106)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
	at javax.faces.component.UIOutput.getValue(UIOutput.java:164)
	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:351)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:160)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:308)
	at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:101)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:300)
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:181)
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:125)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:164)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:269)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at br.com.framework.jsf.FilterJSF.doFilter(FilterJSF.java:45)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

3 Respostas

S

Tente usar assim:

&lt;h:outputText value="#{empty acaoComp.lista}" /&gt;  
// ou
&lt;h:outputText value="#{not empty acaoComp.lista}" /&gt;
R

Usando rendered:

&lt;h:outputText value="#{lista.size}" rendered="#{lista.size&gt;0}"&gt;
V

shibby -> o empty funcionou blz! Valeu!

raf4ever -> o problema é justamente esse. o .size não funciona, da o erro!

Criado 1 de dezembro de 2010
Ultima resposta 1 de dez. de 2010
Respostas 3
Participantes 3