felipef
Setembro 14, 2012, 3:09pm
#1
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?
Como você anotou esse cara? controller
felipef
Setembro 14, 2012, 3:15pm
#3
@Controller
@Scope("session")
E no applicationContext.xml
[code] <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/>
[/code]
jaboot
Setembro 14, 2012, 3:24pm
#4
Tem alguma lib no Tomcat que não está no Glassfish???
Você importou o spring-mvc?
felipef
Setembro 14, 2012, 3:26pm
#5
Todas as libs
[quote]/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
[/quote]
jaboot
Setembro 14, 2012, 3:33pm
#6
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
Setembro 14, 2012, 5:03pm
#7
[quote=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?[/quote]
Infelizmente tive pessimas experiencias com maven, nao vou colocar ele no projeto nem pagando mais, heheheehe
felipef
Setembro 17, 2012, 8:41am
#8
Pessoal
Tenho mais umas informações
Essa minha tela se divide no seguinte
em um template que contem
[code]<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"
>[/code]
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
[quote]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
[/quote]
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
Setembro 18, 2012, 7:09am
#9
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
Setembro 18, 2012, 7:22am
#10
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
Setembro 18, 2012, 7:53am
#11
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
[quote=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
[/quote]Honestamente? Não acho que seja o tomcat, mas a implementação utilizada. [=
Que bom que você conseguiu resolver. \o/
felipef
Setembro 18, 2012, 7:58am
#13
[quote=jakefrog][quote=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
[/quote]Honestamente? Não acho que seja o tomcat, mas a implementação utilizada. [=
Que bom que você conseguiu resolver. \o/[/quote]
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???
[quote=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???[/quote]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. [=