JSF não chama o bean

3 respostas
D

Pessoal,

Estou com um problema no JSF.

Tenho minha tela e meu Bean, já está configurado e mapeado de um para o outro e tudo mais, tanto que existem combos na tela e os mesmos carregam. Meu problema é na hora de submeter. Quando eu aperto o botão de submeter ele recarrega a mesma pagina e é como simplesmente eu estivesse chamando a URL dela novamente.

Olhei log gerado por mim e ate do proprio JBoss, no console do JBoss e nada.

Segue o botão da pagina e o trecho do arquivo Bean:

<f:view>
							<h:form id="formArquiteto" >

… <h:commandButton image="/arquivos/canais/bdarq/btnOk.gif" id=“submiter” action="#{perfilArquiteto.submeter}" type=“submit” immediate=“true” />

</h:form>
</f:view>

e

public String submeter(){
	
	if(LOG.isDebugEnabled()){LOG.debug("submeter[]");}
	
	ArquitetoTO arquitetoTO = new ArquitetoTO();

if(new PerfilBD().gravarArquiteto(arquitetoTO)){
		if(LOG.isDebugEnabled()){LOG.debug("success");}
		return "success";
	} else {
		if(LOG.isDebugEnabled()){LOG.debug("failure");}
		return "failure";
	}
}

Já coloquei os verbatim já tirei e nada.

Grato,

David

3 Respostas

D

Não sei se tem haver, mas quando a tela é carregada aparece a seguinte mensagem em cima do form:
“com.sun.faces.saveStateFieldMarker”

Dei uma olhada na net e ví que era alguma configuração de Lingua.

Além disto apareceu a seguinte mensagem no log do JBoss que eu acho q é normal:

2007-05-01 21:44:56,003 DEBUG [org.jboss.mq.pm.jdbc2.PersistenceManager] Creating Schema

2007-05-01 21:44:56,003 DEBUG [org.jboss.mq.pm.jdbc2.PersistenceManager] Could not create table with SQL: CREATE CACHED TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL, DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1), MESSAGEBLOB OBJECT, PRIMARY KEY (MESSAGEID, DESTINATION) )

java.sql.SQLException: Table already exists: JMS_MESSAGES in statement [CREATE CACHED TABLE JMS_MESSAGES]

at org.hsqldb.jdbc.Util.throwError(Unknown Source)

at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)

at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:227)

at org.jboss.mq.pm.jdbc2.PersistenceManager.createSchema(PersistenceManager.java:240)

at org.jboss.mq.pm.jdbc2.PersistenceManager.startService(PersistenceManager.java:1491)

at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)

at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)

at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)

at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)

at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)

at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)

at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)

at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)

at $Proxy0.start(Unknown Source)


Rafael.bnc

e o teu faces-config.xml como ta ?
Os dados estão sendo submetidos? A action esta retornando succes ou failure?

marcus.floriano

Bem, estou no mesmo projeto que o “davidbsr” e descobri o problema que não tem haver com o desenvolvimento e sim com bibliotecas de versões diferentes.

Para explicar melhor e servir de experiencia segue o ocorrido:

Nosso ambiente:

Jboss 4.0.3SP1
Oracle 10g
JSF 1.1

O Problema

O jboss 4.0.3 tem internamente as bibliotecas do MyFaces que estão dentro da pasta do Tomcat do Jboss “\jboss-4.0.3SP1\server\default\deploy\jbossweb-tomcat55.sar\jsf-libs”, ss bibliotecas são “myfaces-api.jar” e “myfaces-impl.jar”.

Como já existe essas libs, então não colocamos as libs do JSF e ao efutar o deploy da aplicação o Jboss apresenta o erro “java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener”, pois dentro dessas bibliotecas não contêm as classes “com.sun.faces”.

Descobrimos que para solucionar o problema tem que ser incluido a biblioteca do JSF no WAR, mas somente o pacote “jsf-impl.jar”.pois dentro do pacote “myfaces-api.jar” contêm classes “javax.faces”, essas classes fazem parte da “jsf-api.jar”.

E ai está o problema, pois a versão do “jsf-impl.jar” que não tem na instalação do Jboss (não sei o porque) tem que ser correspondente a versão das classes “javax.faces” que está dentro do pacote “myfaces-api.jar”.

Quando acertamos isso o problema foi resolvido.

Obrigado a todos.

Criado 1 de maio de 2007
Ultima resposta 2 de mai. de 2007
Respostas 3
Participantes 3