title: Issues with converting a jsf project to facelets 2.0
body: <p>I'm having an issue with converting a project from what I think is <strong>jsf 1.1 or 1.2, to jsf 2.0 using facelets</strong>. </p>
  
  <p>I've read many Q's on SO about how to do this and I'm still having issues. The problem i'm having is that the <strong>jsf tags are not being rendered as html tags</strong>. </p>
  
  <p>I'm newer to JSF and still trying to get the hang of it.</p>
  
  <p>Main Page:</p>
  
  <pre><code>&lt;?xml version='1.0' encoding='UTF-8' ?&gt;
  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  
  &lt;html   xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html" 
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:t="http://myfaces.apache.org/tomahawk" 
          xmlns:p="http://primefaces.prime.com.tr/ui"
          xmlns:rich="http://richfaces.org/rich"
          xmlns:j4j="http://javascript4jsf.dev.java.net/"&gt;
  
  &lt;h:head&gt;
      &lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;
      &lt;meta http-equiv="Content-Language" content="en-us"&gt;
      &lt;link type="text/css" rel="stylesheet" href="../theme/style.css" /&gt;
  
      &lt;title&gt;Administration&lt;/title&gt;
  
  &lt;/h:head&gt;
  
  &lt;h:body&gt;
  
  &lt;div id="home"&gt;&lt;ui:include page="../common/includes/page.html" flush="true" /&gt;&lt;/div&gt;
  
  
      &lt;f:loadBundle basename="path/to/messages" var="cca" /&gt;
      &lt;div class="title"&gt;
      &lt;table width="100%" cellpadding="0" cellspacing="0" border="0"&gt;
          &lt;tr&gt;
              &lt;td colspan="2"&gt;
              &lt;h1&gt;Administration&lt;/h1&gt;
              &lt;/td&gt;
          &lt;/tr&gt;
      &lt;/table&gt;
      &lt;/div&gt;
      &lt;h:form style="display: inline;"&gt;
  
          &lt;t:div styleClass="header_section"&gt;Main&lt;/t:div&gt;
  
          &lt;div class="left clearL contentBox"&gt;
              &lt;ul&gt;
                  &lt;li&gt;
                      &lt;h:commandLink id="personnel" action="go_personnel"&gt;
                          &lt;h:outputText value="Membership Management" styleClass="portallink" /&gt;
                      &lt;/h:commandLink&gt;
                  &lt;/li&gt;
  
                  &lt;li&gt;
                      &lt;h:commandLink id="funding" action="go_fund"&gt;
                          &lt;h:outputText value="Funding Source Management" styleClass="portallink" /&gt;
                      &lt;/h:commandLink&gt;
                  &lt;/li&gt;
  
                  &lt;li&gt;
                      &lt;h:outputLink value="#"&gt;
                          &lt;h:outputText value="Publications and Bibliographies" styleClass="portallink"/&gt;
                      &lt;/h:outputLink&gt;
                  &lt;/li&gt;
              &lt;/ul&gt;
          &lt;/div&gt;
  
          &lt;t:div styleClass="header_section"&gt;Pages&lt;/t:div&gt;
  
          &lt;div class="left clearL contentBox"&gt;
  
              &lt;ul&gt;
                  &lt;li&gt;
                      &lt;h:commandLink id="mbr" action="go_membership"&gt;
                          &lt;h:outputText value="Membership" styleClass="portallink"/&gt;
                      &lt;/h:commandLink&gt;
                  &lt;/li&gt;
              &lt;/ul&gt;
  
          &lt;/div&gt;
  
          &lt;t:div styleClass="header_section"&gt;Status&lt;/t:div&gt;
  
          &lt;table width="425px"&gt;
              &lt;tr&gt;
                  &lt;td width="90%"&gt;
  
                  &lt;/td&gt;       
              &lt;/tr&gt;
          &lt;/table&gt;
  
      &lt;/h:form&gt;
  
      &lt;div class="footer"&gt;
  
      &lt;div class="left"&gt;
          &lt;p class="left footerText"&gt;Contact &lt;a href="#"&gt;Systems Management Services&lt;/a&gt;&lt;/p&gt;
          &lt;p class="left clearL"&gt;Version 1.8.0&lt;/p&gt;
      &lt;/div&gt;
  
      &lt;div class="right"&gt;
          &lt;p class="footerText right"&gt;&lt;a href="#banner"&gt;Top of Page&lt;/a&gt;&lt;/p&gt;
      &lt;/div&gt;
  
  &lt;/div&gt;
  &lt;/h:body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>web.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app version="2.5" 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-app_2_5.xsd"&gt;
  
  
      &lt;context-param&gt;
          &lt;description&gt;
              State saving method: "client" or "server" (= default) See
              JSF Specification 2.5.3
          &lt;/description&gt;
          &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
          &lt;param-value&gt;client&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
              Only applicable if state saving method is "server" (=
              default). Defines the amount (default = 20) of the latest
              views are stored in session.
          &lt;/description&gt;
          &lt;param-name&gt;
              org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION
          &lt;/param-name&gt;
          &lt;param-value&gt;20&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
              Only applicable if state saving method is "server" (=
              default). If true (default) the state will be serialized to
              a byte stream before it is written to the session. If false
              the state will not be serialized to a byte stream.
          &lt;/description&gt;
          &lt;param-name&gt;
              org.apache.myfaces.SERIALIZE_STATE_IN_SESSION
          &lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
              Only applicable if state saving method is "server" (=
              default) and if
              org.apache.myfaces.SERIALIZE_STATE_IN_SESSION is true (=
              default) If true (default) the serialized state will be
              compressed before it is written to the session. If false the
              state will not be compressed.
          &lt;/description&gt;
          &lt;param-name&gt;
              org.apache.myfaces.COMPRESS_STATE_IN_SESSION
          &lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
              This parameter tells MyFaces if javascript code should be
              allowed in the rendered HTML output. If javascript is
              allowed, command_link anchors will have javascript code that
              submits the corresponding form. If javascript is not
              allowed, the state saving info and nested parameters will be
              added as url parameters. Default: "true"
          &lt;/description&gt;
          &lt;param-name&gt;org.apache.myfaces.ALLOW_JAVASCRIPT&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;org.apache.myfaces.DETECT_JAVASCRIPT&lt;/param-name&gt;
          &lt;param-value&gt;false&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
              If true, rendered HTML code will be formatted, so that it is
              "human readable". i.e. additional line separators and
              whitespace will be written, that do not influence the HTML
              code. Default: "true"
          &lt;/description&gt;
          &lt;param-name&gt;org.apache.myfaces.PRETTY_HTML&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
              If true, a javascript function will be rendered that is able
              to restore the former vertical scroll on every request.
              Convenient feature if you have pages with long lists and you
              do not want the browser page to always jump to the top if
              you trigger a link or button action that stays on the same
              page. Default: "false"
          &lt;/description&gt;
          &lt;param-name&gt;org.apache.myfaces.AUTO_SCROLL&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;context-param&gt;
          &lt;description&gt;
              Used for encrypting view state. Only relevant for client
              side state saving. See MyFaces wiki/web site documentation
              for instructions on how to configure an application for
              diffenent encryption strengths.
          &lt;/description&gt;
          &lt;param-name&gt;org.apache.myfaces.SECRET&lt;/param-name&gt;
          &lt;param-value&gt;NzY1NDMyMTA=&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;context-param&gt;
          &lt;description&gt;
              Validate managed beans, navigation rules and ensure that
              forms are not nested.
          &lt;/description&gt;
          &lt;param-name&gt;org.apache.myfaces.VALIDATE&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
              A class implementing the
              org.apache.myfaces.shared.renderkit.html.util.AddResource
              interface. It is responsible to place scripts and css on the
              right position in your HTML document. Default:
              "org.apache.myfaces.shared.renderkit.html.util.DefaultAddResource"
              Follow the description on the MyFaces-Wiki-Performance page
              to enable StreamingAddResource instead of DefaultAddResource
              if you want to gain performance.
          &lt;/description&gt;
          &lt;param-name&gt;org.apache.myfaces.ADD_RESOURCE_CLASS&lt;/param-name&gt;
          &lt;param-value&gt;
              org.apache.myfaces.renderkit.html.util.DefaultAddResource
          &lt;/param-value&gt;
          &lt;!--param-value&gt;org.apache.myfaces.component.html.util.StreamingAddResource&lt;/param-value--&gt;
      &lt;/context-param&gt;
  
      &lt;context-param&gt;
          &lt;description&gt;
              A very common problem in configuring
              MyFaces-web-applications is that the Extensions-Filter is
              not configured at all or improperly configured. This
              parameter will check for a properly configured
              Extensions-Filter if it is needed by the web-app. In most
              cases this check will work just fine, there might be cases
              where an internal forward will bypass the Extensions-Filter
              and the check will not work. If this is the case, you can
              disable the check by setting this parameter to false.
          &lt;/description&gt;
          &lt;param-name&gt;
              org.apache.myfaces.CHECK_EXTENSIONS_FILTER
          &lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;org.richfaces.SKIN&lt;/param-name&gt;
          &lt;param-value&gt;blueSky&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
          Comma-delimited list of context-relative resource paths under which the JSF implementation
  will look for application configuration resources, before loading a configuration resource
  named /WEB-INF/facesconfig.xml (if such a resource exists).&lt;/description&gt;
          &lt;param-name&gt;javax.faces.CONFIG_FILES&lt;/param-name&gt;
          &lt;param-value&gt;/WEB-INF/faces-config.xml&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
          The default suffix for extension-mapped resources that contain JSF components.
  Default is '.jsp'.&lt;/description&gt;
          &lt;param-name&gt;javax.faces.DEFAULT_SUFFIX&lt;/param-name&gt;
          &lt;param-value&gt;.jsp&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
          Monitors Faces JSP files for modifications and synchronizes a running server with
  the changes without restarting the server. If this parameter is set to false or
  removed from the deployment descriptor, any changes made to Faces JSP files may
  not be seen by the server until it is restarted. This parameter is usually set
  to true while the Faces JSP files are being developed and debugged in order to
  improve the performance of the development environment.&lt;/description&gt;
          &lt;param-name&gt;com.ibm.ws.jsf.JSP_UPDATE_CHECK&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;
          Load JSF runtime when the application server starts up. If this parameter is set to false or removed,
  JSF runtime will be loaded and initialized when the first JSF request is processed.
  This may disable custom JSF extensions, such as factories defined in the project.&lt;/description&gt;
          &lt;param-name&gt;com.ibm.ws.jsf.LOAD_FACES_CONFIG_AT_STARTUP&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;filter&gt;
          &lt;display-name&gt;RichFaces Filter&lt;/display-name&gt;
          &lt;filter-name&gt;richfaces&lt;/filter-name&gt;
          &lt;filter-class&gt;org.ajax4jsf.Filter&lt;/filter-class&gt;
      &lt;/filter&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;richfaces&lt;/filter-name&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;dispatcher&gt;REQUEST&lt;/dispatcher&gt;
          &lt;dispatcher&gt;FORWARD&lt;/dispatcher&gt;
          &lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt;
      &lt;/filter-mapping&gt;
  
  
      &lt;filter&gt;
          &lt;filter-name&gt;extensionsFilter&lt;/filter-name&gt;
          &lt;filter-class&gt;
              org.apache.myfaces.webapp.filter.ExtensionsFilter
          &lt;/filter-class&gt;
          &lt;init-param&gt;
              &lt;description&gt;
                  Set the size limit for uploaded files. Format: 10 - 10
                  bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
              &lt;/description&gt;
              &lt;param-name&gt;uploadMaxFileSize&lt;/param-name&gt;
              &lt;param-value&gt;100m&lt;/param-value&gt;
          &lt;/init-param&gt;
          &lt;init-param&gt;
              &lt;description&gt;
                  Set the threshold size - files below this limit are
                  stored in memory, files above this limit are stored on
                  disk.
  
                  Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
              &lt;/description&gt;
              &lt;param-name&gt;uploadThresholdSize&lt;/param-name&gt;
              &lt;param-value&gt;100k&lt;/param-value&gt;
          &lt;/init-param&gt;
      &lt;/filter&gt;
  
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;extensionsFilter&lt;/filter-name&gt;
          &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
      &lt;/filter-mapping&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;extensionsFilter&lt;/filter-name&gt;
          &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;
      &lt;/filter-mapping&gt;
  
      &lt;listener&gt;
       &lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;
   &lt;/listener&gt;
  
      &lt;servlet&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
          &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
      &lt;/servlet&gt;
      &lt;servlet&gt;
          &lt;display-name&gt;
          Apache-Axis Servlet&lt;/display-name&gt;
          &lt;servlet-name&gt;AxisServlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;
          org.apache.axis.transport.http.AxisServlet&lt;/servlet-class&gt;
      &lt;/servlet&gt;
      &lt;servlet&gt;
          &lt;display-name&gt;
          Axis Admin Servlet&lt;/display-name&gt;
          &lt;servlet-name&gt;AdminServlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;
          org.apache.axis.transport.http.AdminServlet&lt;/servlet-class&gt;
          &lt;load-on-startup&gt;100&lt;/load-on-startup&gt;
      &lt;/servlet&gt;
  
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;*.faces&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;AxisServlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/servlet/AxisServlet&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;AxisServlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;*.jws&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;AxisServlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/services/*&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;AdminServlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/servlet/AdminServlet&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
      &lt;welcome-file-list&gt;
          &lt;welcome-file&gt;/index.jsp&lt;/welcome-file&gt;
          &lt;welcome-file&gt;/index.html&lt;/welcome-file&gt;
      &lt;/welcome-file-list&gt;
  
  &lt;/web-app&gt;
  </code></pre>
  
  <p>faces-config.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  
  &lt;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"&gt;
  
  
      ..managed beans removed..
  
      ..nav rules removed..
  
  &lt;/faces-config&gt;
  </code></pre>