Galera,
Como faço no JSF para meu rich:datatable não dar erro qdo o value receber um null.
Ex: minha tabela está vazia e meu findAll retorna null;
Obrigado
Galera,
Como faço no JSF para meu rich:datatable não dar erro qdo o value receber um null.
Ex: minha tabela está vazia e meu findAll retorna null;
Obrigado
[quote=Ginhu]Galera,
Como faço no JSF para meu rich:datatable não dar erro qdo o value receber um null.
Ex: minha tabela está vazia e meu findAll retorna null;
Obrigado
[/quote]
posta o código
humm
ou então mostra o dataTable somente se sua lista nao estiver vazia
tipo
Aqui está:
xhtml:
<rich:dataTable id="tabModelo" row="30"
onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
cellpadding="0" cellspacing="0" sortMode="multi"
width="980" border="1" var="itens" value="#{not empty procacaoMB.todos}">
<f:facet name="header">
<h:outputText value="Procedimentos Ação" />
</f:facet>
<rich:column sortBy="#{itens.pracId}" width="10">
<f:facet name="header">
<h:outputText value="Código" />
</f:facet>
<h:outputText value="#{itens.pracId}" />
</rich:column>
<rich:column sortBy="#{itens.pracDs}" width="300">
<f:facet name="header">
<h:outputText value="Descrição" />
</f:facet>
<h:outputText value="#{itens.pracDs}" />
</rich:column>
<rich:column sortBy="#{itens.pracMsg}" width="300">
<f:facet name="header">
<h:outputText value="Mensagem" />
</f:facet>
<h:outputText value="#{itens.pracMsg}" />
</rich:column>
<rich:column sortBy="#{itens.pracFlConfirma}" width="300">
<f:facet name="header">
<h:outputText value="Exige Confirmacao?" />
</f:facet>
<h:outputText value="#{itens.pracFlConfirma}" />
</rich:column><rich:column sortBy="#{itens.pracSt}" width="50">
<f:facet name="header">
<h:outputText value="Status?" />
</f:facet>
<h:outputText value="#{itens.pracSt}" />
</rich:column>
<rich:column sortBy="#{itens.pracDtAtz}" width="50">
<f:facet name="header">
<h:outputText value="Dt. Atualização" />
</f:facet>
<h:outputText value="#{itens.pracDtAtz}" >
<f:convertDateTime pattern="dd/MM/yyyy"/>
</h:outputText>
</rich:column>
<rich:column sortBy="#{itens.pracCdUsuario}" width="50">
<f:facet name="header">
<h:outputText value="Usuário" />
</f:facet>
<h:outputText value="#{itens.pracCdUsuario}" />
</rich:column>
</rich:dataTable>
bean:
public List<ProcAcao> getTodos(){
return procacaoDao.findAll();
}
Não funcionou…ainda dá erro:
Caused by: java.lang.NullPointerException
at com.diebold.medial.configurador.web.controller.ProcAcaoMB.getTodos(ProcAcaoMB.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
at org.apache.el.parser.AstEmpty.getValue(AstEmpty.java:29)
at org.apache.el.parser.AstNot.getValue(AstNot.java:26)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
... 57 more
vc deve ter um metodo que popula os dados dessa lita que da um list lista = new list() algo assim chame no get de lista sempre o metodo que carrega as informacoes, se esse metodo num popular nenhum registro num faz mal pq ele instansciou sua lista e não vai da null pointer exception, ele da nullpointer num porque sua coleção está vazia ma sim pq num foi intanciada.
ou entao
public List<ProcAcao> getTodos(){
List<ProcAcao> todos = procacaoDao.findAll();
if (todos != null){
return todos;
} else {
return new ArrayList<ProcAcao>();
}
}
melhor fazer o que o marcosharbs falou !!
Realmente…
Valeu galera pela força !!!
Obrigado