JSF标签未被呈现为HTML

JSF标签未被呈现为HTML,第1张

概述参见英文答案 > JSF returns blank/unparsed page with plain/raw XHTML/XML/EL source instead of rendered HTML output                                    1 我使用Netbeans和Glassfish跟随Java EE firstcup教程. 当我执行JSF Web层 参见英文答案 > JSF returns blank/unparsed page with plain/raw XHTML/XML/EL source instead of rendered HTML output1
我使用Netbeans和Glassfish跟随Java EE firstcup教程.

当我执行JsF Web层时,我已经被指示编码,浏览器在.xhtml文件中获得与编码的相同的JsF标记,并且标签不会被渲染为HTML标签.我在浏览器中使用视图源代码知道这一点.

例如,对于这段代码:

<HTML xmlns="http://www.w3.org/1999/xhtml"      xmlns:f="http://java.sun.com/Jsf/core"      xmlns:h="http://java.sun.com/Jsf/HTML">    <h:head>        <Title>Page Title here</Title>    </h:head>    <h:body>        <h2>            <h:outputText value="#{bundle.WelcomeMessage}" />        </h2>    </h:body></HTML>

浏览器应该是这样的:

<HTML ...>    <head>        <Title>Page Title here</Title>    </head>    <body>        <h2>            the welcome message goes here        </h2>    </body></HTML>

对?

那么我的浏览器正在获取Jsf代码(上面的第一段代码),而不是HTML代码(上面的第二段代码).

它似乎是netbeans或glassfish的配置问题,但不知道什么.有任何想法吗?

这是我的web.xml文件:

<?xml version="1.0" enCoding="UTF-8"?><web-app version="3.0" 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_3_0.xsd">    <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>/firstcup/*</url-pattern>    </servlet-mapping>    <session-config>        <session-timeout>            30        </session-timeout>    </session-config>    <welcome-file-List>        <welcome-file>greetings.xhtml</welcome-file>    </welcome-file-List></web-app>

这是我的faces-config.xml文件:

<?xml version='1.0' enCoding='UTF-8'?><!-- =========== FulL CONfigURATION file ================================== --><faces-config version="2.0"              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">    <application>        <resource-bundle>            <base-name>firstcup.web.WebMessages</base-name>            <var>bundle</var>        </resource-bundle>        <locale-config>            <default-locale>en</default-locale>            <supported-locale>es</supported-locale>        </locale-config>    </application>    <navigation-rule>        <from-vIEw-ID>/greetings.xhtml</from-vIEw-ID>        <navigation-case>            <from-outcome>success</from-outcome>            <to-vIEw-ID>/response.xhtml</to-vIEw-ID>        </navigation-case>    </navigation-rule></faces-config>

此外:

>我在浏览器中输入的URL是http://localhost:8081/firstcup/,但我也试过:http://localhost:8081/firstcup/greetings.xhtml
>我检查过Glassfish日志,没有关于无法加载FacesServlet的信息

解决方法 如果JsF标签没有被解析,那么这只是意味着请求没有通过FacesServlet传递.那个servlet是对所有JsF的东西负责的.您需要验证所使用的请求URL是否匹配FacesServlet的url模式.请注意,区分大小写.

如果您直接在IDE的内置浏览器中打开文件,也可能会发生这种情况.你不应该这样做您需要在内置浏览器或外部浏览器(例如MSIE / firefox)的地址栏中自行指定正确的URL.

更新:还有一件事,你是否在< HTML xmlns>中声明JsF HTML taglib? attribtue?你在你的代码片段中省略了.

应该看起来像

<HTML     xmlns="http://www.w3.org/1999/xhtml"    xmlns:h="http://java.sun.com/Jsf/HTML">
总结

以上是内存溢出为你收集整理的JSF标签未被呈现为HTML全部内容,希望文章能够帮你解决JSF标签未被呈现为HTML所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1090072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存