gpt4 book ai didi

java - JSF 标签未呈现 - FacesServlet 可能无法正常工作?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:03:31 27 4
gpt4 key购买 nike

我刚刚开始使用 JSF 2.0,一开始就遇到了一个问题。不解析 JSF 标记。

下面是一些细节。希望有人能提供帮助,因为相关的 SO 问题都无法解决我的问题。

你好.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>

当我导航到 http://localhost:8080/JSFDeneme/pages/hello.jsp 时我看到了什么

只有明文asd

查看源代码http://localhost:8080/JSFDeneme/pages/hello.jsp

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'
i.e. 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>

我在 WEB-INF/lib 中有什么

  • JSF 2.0 (Apache Myfaces JSF Core-2.0 API 2.0.2) - Eclipse 下载
  • jSTL-api-1.2.jar
  • jSTL-impl-1.2.jar
  • primefaces-3.0 jar

当我重新启动服务器并导航到页面时,Tomcat 向控制台打印的内容

似乎没有什么奇怪的,也没有提到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

感谢任何帮助。

最佳答案

hello.jsp

这不是正确的扩展。

从 JSF 2.0 开始,JSP is deprecated and replaced by Facelets . Facelets 是一种基于 XML 的 View 技术,应该写在 .xhtml 文件中。但是,您似乎已经在 J​​SP 文件中使用了有效的 Facelets 语法。您需要做的就是将 hello.jsp 重命名为 hello.xhtml

我还建议将所有 URL 模式替换为单个 URL 模式 *.xhtml

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

以便您可以通过http://localhost:8080/JSFDeneme/hello.xhtml 打开它无需摆弄虚拟 URL。

我不确定您阅读了哪些书籍/教程使您使用了 JSP 扩展。也许您正在阅读 JSF 1.x 和 JSF 2.x 的混合教程。您需要确保您正在阅读 JSF 2.x 特定教程。在our JSF wiki page的底部您可以找到几个 JSF 2.x 教程链接。

关于java - JSF 标签未呈现 - FacesServlet 可能无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764204/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com