JSF - não interpreta a variavel

6 respostas
dtxk

PessoAll
Oque pode ser, montei um managed bean diretinho, só que na hora de pegar o valor no jsf mostra a variavel inteira e não o valor.

Ta mostrando assim:

#{helloWorldBean.hello}

Se alguem souber, fico no aguardo.

6 Respostas

S

Posta os códigos do managedbean, faces-config e da página, sem isso fica difícil identificar o problema.

dtxk

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">
	
    <managed-bean>
  <managed-bean-name>helloWorldBean</managed-bean-name>
  <managed-bean-class>br.com.jajax.primefaces.HelloWorldBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
</faces-config>

HelloWorldBean.java

package br.com.jajax.primefaces;


/**
 * Sample bean for the HelloWorldJSF project
 *
 */
public class HelloWorldBean {
    
    private String hello = "Hello in the JavaServer Faces World!";
    
    public String getHello () {
    	return this.hello;
    }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>
  HelloWorldJSF
    </display-name>
    
    <description>
  Hello in the JavaServer Faces World!
    </description>
    
    <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
        
</web-app>

helloworld.jsp

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<%-- HelloWorldJSF - author Jakub Czeczotka --%>

<html>
<head>
    <title>HelloWorldJSF</title>
</head>
<body>
    <f:view>
  <h:form>
      <h3>
    	<h:outputText value="#{helloWorldBean.hello}" />
      </h3>
  </h:form>
    </f:view>
</body>
</html>
S

Mano, é o seguinte

Eu copiei todo o seu código e executei, sem alterar nada, funcionou corretamente.
Verifique se não exibe algum erro no console do servidor e se as bibliotecas estão configuradas corretamente.

E tenta dar um clean no projeto, isso resolve 60% dos problemas.

Eu usei o netbeans, criei um projeto jee 6 com jsf 2 e fiz deploy no glassfish 3.

Ops, esquece tudo isso ai em cima, o netbeans criou uma pagina index.xhtml e eu criei a index.jsp, o que executou foi a index.xhtml =/

dtxk

Vou executar no netbeans entao… obrugado pela força…

Abraços

sl4ckfx:
Mano, é o seguinte

Eu copiei todo o seu código e executei, sem alterar nada, funcionou corretamente.
Verifique se não exibe algum erro no console do servidor e se as bibliotecas estão configuradas corretamente.

E tenta dar um clean no projeto, isso resolve 60% dos problemas.

Eu usei o netbeans, criei um projeto jee 6 com jsf 2 e fiz deploy no glassfish 3.

Ops, esquece tudo isso ai em cima, o netbeans criou uma pagina index.xhtml e eu criei a index.jsp, o que executou foi a index.xhtml =/

S

Beleza, só uma coisa, o jsf 2 por padrão trabalha com .xhtml, aqui quando eu tentei executar o jsp eu recebi um NullPointerException, a pagina funcionando com extensão .xhtml ficou assim:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>HelloWorldJSF</title>
    </h:head>
    <h:body>
        <h:form>
            <h3>
                <h:outputText value="#{helloWorldBean.hello}" />
            </h3>
        </h:form>
    </h:body>
</html>
laudenpower

Olá,

Experimenta colocar o set na variável também. Como o JSF se utiliza do padrão POJO para manipular os atributos ele pode não estar reconhecendo esse atributo.

Espero ter ajudado :slight_smile:

Criado 8 de fevereiro de 2012
Ultima resposta 8 de fev. de 2012
Respostas 6
Participantes 3