Теги JSF не отображаются как HTML - PullRequest
0 голосов
/ 20 июня 2019

Я создал простое веб-приложение в Eclipse с использованием JSF 2.2 и запустил его через WebSphere 8.5.Однако, когда я открываю страницу индекса в браузере, используя http://localhost:9082/HCVA/index.xhtml, я просто получаю пустую страницу.Я написал всю веб-страницу, используя только теги JSF, и когда я смотрю в отладчике, я вижу, что теги JSF не отображаются в виде HTML.Если я добавлю тег HTML, например, <p>test</p>, то в браузере отобразится «test».Вот целая страница индекса до сих пор:

<?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
    <title>HCVA</title>
</h:head>
<h:body>
    <h:panelGroup id="header" layout="block" styleClass="headerClass">
        <h:graphicImage value="/images/NewOntarioLogo.gif" alt="Ontario Logo" border="0" />
        <h:outputText value="Health Card Viewer Application"/>
        <p>test</p>
    </h:panelGroup>

    <h:panelGroup id="navigate" layout="block">

    </h:panelGroup>

    <h:panelGroup id="mainContent" layout="block">

    </h:panelGroup>

    <h:panelGroup id="footer" layout="block" styleClass="footerClass">
        <h:graphicImage value="/images/NewOntarioLogo.gif" alt="Ontario Logo" border="0" />
        <br></br>
        <h:outputText value="This site is maintained by the Government of Ontario, Canada."/>
        <br></br>
        <h:link value="PRIVACY" outcome="http://www.ontario.ca/en/general/004222"/>
        <h:outputText value="|"/>
        <h:link value="IMPORTANT NOTICES" outcome="http://www.ontario.ca/en/general/004222"/>
        <br></br>
        <h:outputText value="Copyright information:"/>
        <h:link value="© Queen's Printer for Ontario, 2006" outcome="http://www.ontario.ca/en/general/004222"/>
        <br></br>
        <h:outputText value="Last Modified: 2009-12-12"/>
    </h:panelGroup>
</h:body>
</html>

Я видел другие посты об этом, и я знаю, что эта проблема может означать, что страница не проходит через FacesServlet.Однако я убедился, что используемый URL-адрес запроса соответствует шаблону URL-адреса FacesServlet.Вот как выглядит мой web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 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"
         version="3.0">
    <display-name>HCVA</display-name>
    <context-param>
        <description>
        The location where state information is saved.
Valid values are 'server' (typically saved in HttpSession) and 'client' (typically
saved as a hidden field in the form.
Default is server.</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <context-param>
        <description>
        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/faces-config.xml (if such a resource exists).</description>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value></param-value>
    </context-param>
    <context-param>
        <description>
        The default suffix for extension-mapped resources that contain JSF components.
Default is '.jsp'.</description>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
    </context-param>
    <context-param>
        <description>
        A human readable string describing where this particular JSF application is
in the software development lifecycle.
Valid values are 'Development', 'UnitTest', 'SystemTest' and 'Production'.
Default is 'Production'.
This parameter is not available in JSF 1.x.</description>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <context-param>
        <description>
        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.</description>
        <param-name>com.ibm.ws.jsf.JSP_UPDATE_CHECK</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <description>
        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.</description>
        <param-name>com.ibm.ws.jsf.LOAD_FACES_CONFIG_AT_STARTUP</param-name>
        <param-value>true</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>
        <enabled>true</enabled>
        <async-supported>false</async-supported>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>
        *.xhtml</url-pattern>
    </servlet-mapping>
</web-app>

Устранение неполадок в течение длительного времени безрезультатно.Любая помощь будет оценена.

1 Ответ

2 голосов
/ 20 июня 2019

WebSphere 8.5 не обеспечивает реализацию JSF 2.2 - только JSF 1.2 через SunRI и JSF 2.0 через MyFaces. Если вы не предоставляете стороннюю реализацию JSF, вам потребуется обновить приложение, чтобы использовать правильный уровень спецификации JSF.

...