Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JSF tags not rendered [duplicate]

Tags:

java

jsf

facelets

I am new to JSF, but my JSF tags are not rendered in xhtml file, i tried out every possible solution, but problem is not solved

my web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>JSFProject</display-name>
  <welcome-file-list>
    <welcome-file>JSFProject/index.html</welcome-file>
    <welcome-file>JSFProject/index.htm</welcome-file>
    <welcome-file>JSFProject/index.jsp</welcome-file>
    <welcome-file>JSFProject/default.html</welcome-file>
    <welcome-file>JSFProject/default.htm</welcome-file>
    <welcome-file>JSFProject/default.jsp</welcome-file>
  </welcome-file-list>
  <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>

  <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>*.xhtml</url-pattern>
  </servlet-mapping>
</web-app>

my example.xhtml

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!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:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Example</title>
</head>
<body>
 <h:form>
    Some random data: <h:inputText/><br/>  <!-- Textfield ignored -->
    Some other data: <h:inputText/><br/>   <!-- Textfield ignored -->

    </h:form>

</body>
</html>

I had spend 3 days to figure out the problem, any help will be welcome

like image 653
user401451 Avatar asked Jul 25 '10 11:07

user401451


3 Answers

The symptoms of the JSF components not being parsed at all indicates that the FacesServlet hasn't run. This will happen when the request URL doesn't match the url-pattern of the FacesServlet as definied in web.xml. This would mean that the actual url-pattern of the FacesServlet isn't *.xhtml at all. Are you looking into and editing the right web.xml you think you are? Is the right web.xml been deployed with the webapp into the servletcontainer?

like image 194
BalusC Avatar answered Oct 14 '22 12:10

BalusC


I had the same problem, I fixed this by updating below as:- Already Martin had mentioned in the above. Thanks.

web.xml

<context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
</context-param>

<context-param>
        <param-name>javax.faces.application.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>

<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>*.faces</url-pattern>
  </servlet-mapping>
    

faces-config.xml

<application>
        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
like image 3
Saroj Nayak Avatar answered Oct 14 '22 12:10

Saroj Nayak


Try:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!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:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Example</title>
</head>
<body>
<f:view>
 <h:form>
    Some random data: <h:inputText/><br/>  <!-- Textfield ignored -->
    Some other data: <h:inputText/><br/>   <!-- Textfield ignored -->

    </h:form>

</f:view>
</body>
</html>

I've included the JSF <f:view> tag

like image 1
Jose Diaz Avatar answered Oct 14 '22 10:10

Jose Diaz