[RESOLVIDO - novela chegou ao fim] - [Mudei a pergunta] Tomcat Ok - Glassfish NAOOOOO

13 respostas
felipef

Pessoal boa tarde

Estou desenvolvendo uma aplicação utilizando

JSF, Primefaces, Spring, JPA com Hibernate

e quando rodo a aplicação com o tomcat 7 ela funciona perfeitamente, e quando roda ela com glassfish

javax.el.PropertyNotFoundException: Target Unreachable, identifier ‘controller’ resolved to null

alguem tem uma dica, do pq que isso nao ta funcionando?

13 Respostas

Hebert_Coelho

Como você anotou esse cara? controller

felipef
@Controller
@Scope("session")

E no applicationContext.xml

<context:component-scan base-package="br.com" annotation-config="true">
      	<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
      	<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
      	<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
      </context:component-scan>    

	  <context:annotation-config />
	  <aop:spring-configured/>
jaboot

Tem alguma lib no Tomcat que não está no Glassfish???
Você importou o spring-mvc?

felipef

Todas as libs

/SceWeb/WebContent/WEB-INF/lib/antlr-2.7.6.jar
/SceWeb/WebContent/WEB-INF/lib/aspectjrt.jar
/SceWeb/WebContent/WEB-INF/lib/blitzer-1.0.7.jar
/SceWeb/WebContent/WEB-INF/lib/commons-collections-3.1.jar
/SceWeb/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar
/SceWeb/WebContent/WEB-INF/lib/commons-io-1.3.2.jar
/SceWeb/WebContent/WEB-INF/lib/commons-logging.jar
/SceWeb/WebContent/WEB-INF/lib/commons-net-3.1.jar
/SceWeb/WebContent/WEB-INF/lib/dom4j-1.6.1.jar
/SceWeb/WebContent/WEB-INF/lib/el-api.jar
/SceWeb/WebContent/WEB-INF/lib/hibernate3.jar
/SceWeb/WebContent/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar
/SceWeb/WebContent/WEB-INF/lib/hibernate-validator-4.3.0.Final.jar
/SceWeb/WebContent/WEB-INF/lib/hibernate-validator-annotation-processor-4.3.0.Final.jar
/SceWeb/WebContent/WEB-INF/lib/itext-2.1.7.jar
/SceWeb/WebContent/WEB-INF/lib/javassist-3.9.0.GA.jar
/SceWeb/WebContent/WEB-INF/lib/javax.faces-2.1.9.jar
/SceWeb/WebContent/WEB-INF/lib/jboss-logging-3.1.0.CR2.jar
/SceWeb/WebContent/WEB-INF/lib/jstl-1.1.1.jar
/SceWeb/WebContent/WEB-INF/lib/jta-1.1.jar
/SceWeb/WebContent/WEB-INF/lib/jtds-1.2.5.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.aop-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.asm-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.aspects-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.beans-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.context.support-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.context-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.core-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.expression-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.transaction-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.web.servlet-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/org.springframework.web-3.1.0.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/primefaces-3.4.jar
/SceWeb/WebContent/WEB-INF/lib/servlet-api.jar
/SceWeb/WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar
/SceWeb/WebContent/WEB-INF/lib/slf4j-jdk14-1.6.1.jar
/SceWeb/WebContent/WEB-INF/lib/slf4j-log4j12-1.6.1.jar
/SceWeb/WebContent/WEB-INF/lib/spring-security-config-3.0.5.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/spring-security-config-3.0.5.RELEASE-sources.jar
/SceWeb/WebContent/WEB-INF/lib/spring-security-core-3.0.5.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/spring-security-core-3.0.5.RELEASE-sources.jar
/SceWeb/WebContent/WEB-INF/lib/spring-security-web-3.0.5.RELEASE.jar
/SceWeb/WebContent/WEB-INF/lib/spring-security-web-3.0.5.RELEASE-sources.jar
/SceWeb/WebContent/WEB-INF/lib/trugger-4.0.1.jar
/SceWeb/WebContent/WEB-INF/lib/validation-api-1.0.0.GA.jar

jaboot

Felipão,

Eu realmente não estou entendendo o que pode estar acontecendo com o teu Glassfish, talvez ele não esteja enxergando as libs que estão nesse diretório.

Posso te dar uma dica? Porque você não utiliza um gerenciador de dependências, tipo o Maven pra te ajudar?

felipef

jaboot:
Felipão,

Eu realmente não estou entendendo o que pode estar acontecendo com o teu Glassfish, talvez ele não esteja enxergando as libs que estão nesse diretório.

Posso te dar uma dica? Porque você não utiliza um gerenciador de dependências, tipo o Maven pra te ajudar?

Infelizmente tive pessimas experiencias com maven, nao vou colocar ele no projeto nem pagando mais, heheheehe

felipef

Pessoal
Tenho mais umas informações

Essa minha tela se divide no seguinte

em um template que contem

<h:form id="gridForm">  
				<p:dataTable id="dataTable" var="item" value="#{controller.selectListDataModel}" 
	            	emptyMessage="#{recursos.nenhum_registro_encontrado}" 
	            	filteredValue="#{controller.filteredItems}"
	            	widgetVar="itemsTable" 
	            	selection="#{controller.selectedItems}"
	            	
	            	paginator="true" rows="10"  
	            	currentPageReportTemplate="{currentPage} #{recursos.de} {totalPages}"
                 	paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 	rowsPerPageTemplate="10,20,40,80" paginatorPosition="bottom"
                 	>

a na tela de loja que esta utilizando esse template tenho o seguinte:

<ui:param name="controller" value="#{lojaController}" />

e essa dataTable eh populada pelo #{controller.selectListDataModel} que esta definido no meu controller

no template possui o seguinte botao

<m:actionButton id="btnNovo" actionListener="#{controller.viewFormPart}" value="#{recursos.novo}" 
	oncomplete="modalDialogForm.show();" update=":formForm" />

que quando clico nele a seguinte exceção é lançada

Grave: 'javax.el.PropertyNotFoundException' recebido ao invocar escuta de ação '#{controller.viewFormPart}' para o componente 'btnNovo' Grave: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'controller' resolved to null

Então em alguns momentos o meu controller esta nulo e em outro não, e volto a lembrar que no tomcat funciona, heheh

felipef

Pessoal descobri mais umas informacoes importantes para quem quiser me ajudar

tenho um botao que chama uma action em um controller

public void viewFormPart() { state = STATE_INSERT; initialStateForm(); }

Essa esta na classe BasicIncludeController conforme mostra abaixo

Então qnd clico no botão conforme definido abaixo gera o erro abaixo

<p:commandButton id="btnNovo" actionListener="#{controller.viewFormPart}" value="#{recursos.novo}" style="background: ##{customizacaoLayoutController.customiza.corComponenteAcao} !important;" styleClass="button" oncomplete="modalDialogForm.show();" update=":formForm" rendered="#{autorizaAcao.validaAcao('inserir')}" />

Erro

Grave: 'javax.el.PropertyNotFoundException' recebido ao invocar escuta de ação '#{controller.viewFormPart}' para o componente 'btnNovo' Grave: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'controller' resolved to null

Porem o controller não esta null pois coloquei assim no meu xhtml Controller no buttons - #{controller} so para ver se ele iria aparecer null, e o resultado não foi de null

Acho q nao esta enxergando minha hierarquia de classes

felipef

Acho q o Glassfish esta com aquela

haaaaa, pegadinha do malandro

uso assim

<p:commandButton id="btnNovo" actionListener="#{controller.viewFormPart}" value="#{recursos.novo}" style="background: ##{customizacaoLayoutController.customiza.corComponenteAcao} !important;" styleClass="button" oncomplete="modalDialogForm.show();" update=":formForm" rendered="#{autorizaAcao.validaAcao('inserir')}" />

e nao funciona

uso assim

<p:commandButton id="btnNovo" action="#{controller.viewFormPart}" value="#{recursos.novo}" style="background: ##{customizacaoLayoutController.customiza.corComponenteAcao} !important;" styleClass="button" oncomplete="modalDialogForm.show();" update=":formForm" rendered="#{autorizaAcao.validaAcao('inserir')}" />

E funciona, alguem sabe o motivo??
Ou diferenças?

felipef

Ou seja
O tomcat é uma bosta igual o IE

faz funcionar coisas erradas

Quando é actionListener, a assinatura do metodo deve possui o ActionEvent
e quando eh action não precisa, mas deve retornar uma String

Hebert_Coelho

felipef:
Ou seja
O tomcat é uma bosta igual o IE

faz funcionar coisas erradas

Quando é actionListener, a assinatura do metodo deve possui o ActionEvent
e quando eh action não precisa, mas deve retornar uma String

Honestamente? Não acho que seja o tomcat, mas a implementação utilizada. [=

Que bom que você conseguiu resolver. \o/

felipef

jakefrog:
felipef:
Ou seja
O tomcat é uma bosta igual o IE

faz funcionar coisas erradas

Quando é actionListener, a assinatura do metodo deve possui o ActionEvent
e quando eh action não precisa, mas deve retornar uma String

Honestamente? Não acho que seja o tomcat, mas a implementação utilizada. [=

Que bom que você conseguiu resolver. \o/

Eu realmente nao sabia que o actionlistener necessitava de um Actionevent, pq sempre desenvolvi com tomcat e isso nunca foi problema

nao quis ofender quem adora o tomcat, pois eu gosto dele, mas bem que ele podia ser chato nisso neh???

Hebert_Coelho

felipef:
Eu realmente nao sabia que o actionlistener necessitava de um Actionevent, pq sempre desenvolvi com tomcat e isso nunca foi problema

nao quis ofender quem adora o tomcat, pois eu gosto dele, mas bem que ele podia ser chato nisso neh???

Eu também concordo com você. [=
Quando eu estudei o livro do JSF ele fala exatamente que a assinatura de um método deve ser igual ao que você descreveu. Mas eu sempre vi o que contrário acontece.

Por isso que eu suspeito que o problema seja mais da implementação. [=

Criado 14 de setembro de 2012
Ultima resposta 18 de set. de 2012
Respostas 13
Participantes 3