JSF tags not showing - FacesServlet not working, maybe?

I am just getting started with JSF 2.0, and at first I was fixated on the problem. JSF tags are not parsed.

Below are some details. Hope someone can help because none of the related SO issues could solve my problem.

hello.jsp

<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:p="http://primefaces.org/ui"> <h:head> </h:head> <h:body> <f:view> asd <h:inputText value="asd" label="UserName"></h:inputText> </f:view> </h:body> </html> 

What I see when navigating http://localhost:8080/JSFDeneme/pages/hello.jsp

asd text only asd

View source http://localhost:8080/JSFDeneme/pages/hello.jsp

Just like the contents of hello.jsp

 <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:p="http://primefaces.org/ui"> <h:head> </h:head> <h:body> <f:view>asd <h:inputText value="asd" label="UserName"></h:inputText> </f:view> </h:body> </html> 

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_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>JSFDeneme</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> <welcome-file>hello.jsp</welcome-file> </welcome-file-list> <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> <url-pattern>/pages/*</url-pattern> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>resources.application</param-value> </context-param> <context-param> <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> </context-param> <context-param> <description> 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 is 'true'</description> <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name> <param-value>true</param-value> </context-param> <context-param> <description> If true, rendered HTML code will be formatted, so that it is 'human-readable' ie additional line separators and whitespace will be written, that do not influence the HTML code. Default is 'true'</description> <param-name>org.apache.myfaces.PRETTY_HTML</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name> <param-value>false</param-value> </context-param> <context-param> <description> 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 is 'false' </description> <param-name>org.apache.myfaces.AUTO_SCROLL</param-name> <param-value>true</param-value> </context-param> <listener> <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> </listener> </web-app> 

faces-config.xml

 <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"> </faces-config> 

What I have in WEB-INF/lib

  • JSF 2.0 (Apache Myfaces JSF Core-2.0 API 2.0.2) - Eclipse downloaded that
  • JSTL-api-1.2.jar
  • JSTL-OS-1.2.jar
  • primefaces-3.0 jars

What Tomcat outputs to the console when I restart the server and go to the page

There is nothing strange and does not mention FacesServlet ?

 06.Oca.2012 22:26:55 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\glassfish3\jdk\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\apache-ant-1.8.2\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\QuickTime\QTSystem\;. 06.Oca.2012 22:26:56 org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:AjaxDenemeleri' did not find a matching property. 06.Oca.2012 22:26:56 org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:RPGW_RestAPI' did not find a matching property. 06.Oca.2012 22:26:56 org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSFDeneme' did not find a matching property. 06.Oca.2012 22:26:56 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] 06.Oca.2012 22:26:56 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 06.Oca.2012 22:26:56 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 680 ms 06.Oca.2012 22:26:56 org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 06.Oca.2012 22:26:56 org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.22 06.Oca.2012 22:26:56 com.sun.jersey.api.core.PackagesResourceConfig init INFO: Scanning for root resource and provider classes in the packages: sample.hello.resources 06.Oca.2012 22:26:56 com.sun.jersey.api.core.ScanningResourceConfig logClasses INFO: Root resource classes found: class sample.hello.resources.HelloResource class sample.hello.resources.ContactsResource 06.Oca.2012 22:26:56 com.sun.jersey.api.core.ScanningResourceConfig init INFO: No provider classes found. 06.Oca.2012 22:26:57 com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.10 11/02/2011 03:53 PM' 06.Oca.2012 22:27:00 org.apache.catalina.core.StandardContext addApplicationListener INFO: The listener "org.apache.myfaces.webapp.StartupServletContextListener" is already configured for this context. The duplicate definition has been ignored. 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.RENDER_CLEAR_JAVASCRIPT_FOR_BUTTON' found, using default value false 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.RENDER_HIDDEN_FIELDS_FOR_LINK_PARAMS' found, using default value false 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.SAVE_FORM_SUBMIT_LINK_IE' found, using default value false 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS' found, using default value true 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.RENDER_VIEWSTATE_ID' found, using default value true 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.STRICT_XHTML_LINKS' found, using default value true 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.RENDER_FORM_SUBMIT_SCRIPT_INLINE' found, using default value false 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getLongInitParameter INFO: No context init parameter 'org.apache.myfaces.CONFIG_REFRESH_PERIOD' found, using default value 2 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.VIEWSTATE_JAVASCRIPT' found, using default value false 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getStringInitParameter INFO: No context init parameter 'org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS' found, using default value auto 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE' found, using default value false 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.VALIDATE_XML' found, using default value false 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig getBooleanInitParameter INFO: No context init parameter 'org.apache.myfaces.WRAP_SCRIPT_CONTENT_WITH_XML_COMMENT_TAG' found, using default value true 06.Oca.2012 22:27:00 org.apache.myfaces.shared_impl.config.MyfacesConfig createAndInitializeMyFacesConfig INFO: Tomahawk jar not available. Autoscrolling, DetectJavascript, AddResourceClass and CheckExtensionsFilter are disabled now. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator feedStandardConfig INFO: Reading standard config META-INF/standard-faces-config.xml 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator addClassloaderConfigurations INFO: Reading config : jar:file:/D:/documents/code/java/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/JSFDeneme/WEB-INF/lib/primefaces-3.0.jar!/META-INF/faces-config.xml 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator getWebAppConfig INFO: Reading config /WEB-INF/faces-config.xml 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: Starting up MyFaces-package : myfaces-api in version : 2.0.2 from path : file:/D:/documents/code/java/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/JSFDeneme/WEB-INF/lib/myfaces-api-2.0.2.jar 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: Starting up MyFaces-package : myfaces-impl in version : 2.0.2 from path : file:/D:/documents/code/java/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/JSFDeneme/WEB-INF/lib/myfaces-impl-2.0.2.jar 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : tomahawk not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : tomahawk12 not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : tomahawk-sandbox not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : tomahawk-sandbox12 not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : tomahawk-sandbox15 not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : myfaces-orchestra-core not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : myfaces-orchestra-core12 not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : trinidad-api not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : trinidad-impl not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : tobago not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : commons-el not found. 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator startLib INFO: MyFaces-package : jsp-api not found. 06.Oca.2012 22:27:00 org.apache.myfaces.util.ExternalSpecifications isBeanValidationAvailable INFO: MyFaces Bean Validation support disabled 06.Oca.2012 22:27:00 org.apache.myfaces.config.annotation.DefaultAnnotationProvider webClasses WARNING: AnnotationConfigurator does not found classes for annotations in /WEB-INF/classes/ . This could happen because maven jetty plugin is used (goal jetty:run). Try configure org.apache.myfaces.annotation.SCAN_PACKAGES init parameter or use jetty:run-exploded instead. 06.Oca.2012 22:27:00 org.apache.myfaces.application.ApplicationImpl getProjectStage INFO: Couldn't discover the current project stage, using Production 06.Oca.2012 22:27:00 org.apache.myfaces.config.FacesConfigurator handleSerialFactory INFO: Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory 06.Oca.2012 22:27:00 org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory getLifecycleProvider INFO: Using LifecycleProvider java.lang.String 06.Oca.2012 22:27:01 org.apache.myfaces.webapp.AbstractFacesInitializer initFaces INFO: ServletContext 'D:\documents\code\java\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\JSFDeneme\' initialized. 06.Oca.2012 22:27:01 org.primefaces.webapp.PostConstructApplicationEventListener processEvent INFO: Running on PrimeFaces 3.0 06.Oca.2012 22:27:01 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 06.Oca.2012 22:27:01 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 06.Oca.2012 22:27:01 org.apache.catalina.startup.Catalina start INFO: Server startup in 4958 ms 

Any help was appreciated.

+6
source share
3 answers

hello.jsp

This is not a valid extension.

Since JSF 2.0, JSP is deprecated and replaced by Facelets . Facelets is an XML-based viewing technology and must be written in .xhtml files. However, it looks like you have already used the actual Facelets syntax in your JSP file. All you have to do is just rename hello.jsp to hello.xhtml .

I also recommend replacing all URL patterns with a single *.xhtml URL *.xhtml .

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

so you can open it http: // localhost: 8080 / JSFDeneme / hello.xhtml without using virtual URLs.

I'm not sure which books / tutorials you read, which made you use the JSP extension. You may have read a combination of JSF 1.x and JSF 2.x targeted tutorials. You need to make sure that you read the special JSF 2.x tutorials. At the bottom of our JSF wiki page, you can find some links for JSF 2.x.

+11
source

I assume that when calling the .jsp URL .jsp you display the page through the good old servlet (you have the URL /pages/* mapped to the Faces servlet, but JSP extension mapping may take precedence).

Can you try renaming your page to .jsf and .jsf this?

+1
source

try putting the following code in your 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_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>jsfexample</display-name> <servlet> <servlet-name>faces</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>faces</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> 

-2
source

Source: https://habr.com/ru/post/905353/


All Articles