0

.net アプリを JSF 1.2 に変換してレガシー JBoss サーバーに配置しようとしていますが、レンダリングする jsf タグを取得できません。私のブラウザでは、日食で見たものとまったく同じです。

任意の提案をいただければ幸いです。

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_2_5.xsd" 
         version="2.5">
  <display-name>WebDataViewer</display-name>

    <context-param>
        <param-name>javax.faces.FACELETS_LIBRARIES</param-name>
        <param-value>/WEB-INF/tlds/formatter-taglib.xml</param-value>
    </context-param>

    <!-- JSF -->
    <context-param>     
        <param-name>javax.faces.CONFIG_FILES</param-name>     
        <param-value>/WEB-INF/faces-config.xml</param-value>     
    </context-param> 

    <context-param>     
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>     
        <param-value>.xhtml</param-value>     
    </context-param> 

    <context-param>     
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>     
        <param-value>server</param-value>     
    </context-param>  

    <context-param>
        <param-name>facelets.VIEW_MAPPINGS</param-name>
        <param-value>*.xhtml</param-value>
    </context-param>

    <context-param>
        <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
        <param-value>com.sun.facelets.FaceletViewHandler</param-value>
    </context-param>

    <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>CLASSIC</param-value>
    </context-param>

    <listener>     
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>    
    </listener>    

    <!-- Allows you to put html comments in your views without the compiler blowing up -->
    <context-param>
        <param-name>javax.faces.FACELETS_SKIP_COMMENTS</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>
    </servlet>

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

    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>

顔-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<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_1_2.xsd"
    version="1.2">

    <application>
        <view-handler>org.ajax4jsf.application.AjaxViewHandler</view-handler>
    </application>

    <!-- Backing Beans -->  
    <managed-bean>
        <managed-bean-name>tableBacking</managed-bean-name>
        <managed-bean-class>edu.mayo.ccs.webdataviewer.ui.backing.TableLookupBacking</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

</faces-config>

index.xhtml

<!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:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:rich="http://richfaces.org/rich"
    xmlns:a4j="http://richfaces.org/a4j" 
    xmlns:ui="http://java.sun.com/jsf/facelets">

    <ui:composition template="/template.xhtml">

        <ui:define name="title">Web Data Viewer</ui:define>

        <ui:define name="centerColumn">
            <h1>Web Data Viewer</h1>                                
        </ui:define>

    </ui:composition>
</html>
4

1 に答える 1

3

コメントによると、独自のdocbookに従って Facelets 1.x を構成しているときに、次の例外が発生しています。

完全修飾クラスが見つかりません: com.sun.facelets.FaceletViewHandler

どうやら JBoss 5.x には Facelets 1.x が同梱されていないようです (標準の Java EE 5 の一部ではないため、非常に優れている可能性があります)。webapp の/WEB-INF/lib. Maven リポジトリから入手できます。それはjsf-facelets.jarファイルです。

Facelets ライブラリは JSF JAR 自体にバンドルされているため、このファイルは JSF 2.x には必要ないことに注意してください。

于 2012-12-13T22:36:20.037 に答える