terça-feira, 5 de junho de 2012

Jsf: Mudar styleClass/style dinamicamente

1)Alteração completa do StyleClass

<h:outputText
   value="#{bean.processo.statusProcesso}"
   styleClass="#{bean.processo.cancelado == false ? 'textoRelatorio' : 'labelRelatorio'}"/>

2) Alteração parcial do Syle
<h:outputText value=" - "
  style="font-weight:bold;color:#{processo.flp_cor};" />

quinta-feira, 31 de maio de 2012

JavaScript: Pegar o valor de um h:selectOneMenu e passar para um h:inputHidden




<f:subview id="sviewGrafico">
<rich:panel styleClass="panelPrincipal">
<rich:toolBar>
<h:form id="formGrafico" prependId="false">
<h:outputText value="Grupo:" />

<h:selectOneMenu value="#{graficoData.id}" id="selectGrupo"
onchange="(document.getElementById('sviewGrafico:ihCodigoGrupo').value =                                        document.getElementById('sviewGrafico:selectGrupo').value)">
<f:selectItems value="#{relatorioPerformanceMB.comboGrupo}"/>
</h:selectOneMenu>

<h:inputHidden value="#{relatorioPerformanceMB.codigoGrupo}" id="ihCodigoGrupo"/>

<h:commandButton value="Gerar" />

<a4j:commandButton value="Visualizar Relatório"
actionListener="#{relatorioPerformanceMB.gerarGrafico}"/>

</h:form>
</rich:toolBar>


<a4j:mediaOutput element="img" cacheable="false" session="true"
   createContent="#{relatorioPerformanceMB.paint}" 
   value="#{graficoData}" rendered="#{graficoData.id != null}"
   mimeType="image/jpeg"/>

</rich:panel>
</f:subview>

sexta-feira, 16 de março de 2012

jfreechart - java.lang.NullPointerException

java.lang.NullPointerException é exibido ao tentar utilizar o bean do jfreechart em escopo view.

Para resolver o problema mude o escopo para request ou session.

Testado nas versões: jfreechart-1.0.14 jfreechart-1.0.13



  1. java.lang.NullPointerException  
  2.     at com.sun.faces.lifecycle.RestoreViewPhase.notifyAfter(RestoreViewPhase.java:288)  
  3.     at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)  
  4.     at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)  
  5.     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)  
  6.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)  
  7.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)  
  8.     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)  
  9.     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:203)  
  10.     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)  
  11.     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)  
  12.     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)  
  13.     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:379)  
  14.     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)  
  15.     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:259)  
  16.     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:281)  
  17.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)  
  18.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
  19.     at java.lang.Thread.run(Unknown Source) 

quinta-feira, 1 de março de 2012

reRender ao abrir rich:tab

O rpnCobrancas e seu conteúdo não serão renderizados até que o usuário clique na tab rtbCobranca.


<rich:tab label="Cobrança" id="rtbCobranca">

     <a4j:support reRender="rpnCobrancas" event="onlabelclick">
          <f:setPropertyActionListener value="true" target="#{bean.renderCobrancas}"/>
     </a4j:support>
    
     <rich:panel id="rpnCobrancas" rendered="#{bean.renderCobrancas}">
     <rich:panel>

</rich:tab>

sexta-feira, 17 de fevereiro de 2012

Servlet.service() for servlet Faces Servlet threw exception | Caused by: java.lang.StackOverflowError

Erro:

15:41:45,295 ERROR [BaseXMLFilter] Exception in the filter chain
javax.servlet.ServletException: Servlet execution threw an exception
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at br.com.lpc.ganymede.util.IE9CompatibilityFixServlet.doFilter(IE9CompatibilityFixServlet.java:26)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at br.com.lpc.ganymede.util.HibernateSessionfilter.doFilter(HibernateSessionfilter.java:23)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    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:235)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.StackOverflowError
    at java.lang.reflect.InvocationTargetException.<init>(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor637.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1773)
    at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1132)
    at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
    at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
    at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:126)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:83)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:83)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:83)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:83)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:174)
    at org.ajax4jsf.javascript.ScriptUtils.writeScriptToStream(ScriptUtils.java:83)

Causa: Tentar passar um objeto no actionparam

<a4j:actionparam id="deleteContainer" value="#{con}" name="delteteCont"/>

Solução: Passar apenas o id
<a4j:actionparam id="deleteContainer" value="#{con.id}" name="delteteCont"/>

sexta-feira, 3 de fevereiro de 2012

Cannot convert onload of type class java.lang.String to class org.richfaces.component.JQueryTiming

No Jsf 1.2/Richfaces 3.3 você poderia fazer dessa forma:

<h:inputText  id="dataVencimento" >
        <rich:jQuery selector="#dataVencimento" query="mask('99/99/9999')" timing="onload" />
</h:inputText>

No Jsf 2.0/Richfaces 4.1 o rich:query não pode ficar dentro do h:inputText e o timing mudou:


<h:inputText  id="dataVencimento" />
<rich:jQuery selector="#dataVencimento" query="mask('99/99/9999')" timing="domready" />

quarta-feira, 1 de fevereiro de 2012

Windows 7 / Vista ingressar em domínio Windows 2008

É necessário as seguintes alterações no registro do windows 7 / Vista:

Utilize o regedit.exe e faça as seguintes modificações no registro do Windows. (Adicione o que faltar ou altere se já existir)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters
DWORD32 - DomainCompatibilityMode = 1
DWORD32 - DNSNameResolutionRequired = 0

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Netlogon\Parameters
DWORD32 - RequireSignOnSeal = 0
DWORD32 - RequireStrongKey = 0


Tente entrar no domínio após efetuar as alterações. Não é necessário reiniciar o Windows após as alterações no regedit!