0

Web サイトのチュートリアルのような簡単な PrimeFaces の例を作成しようとしています。私は基本的にこのユーザーとまったく同じ問題を抱えていますが、彼のように空のjarファイルはありません。h: タグは正常にレンダリングされていますが、p: タグは HTML に p: タグとして表示されます。PrimeFaces 3.1.1 および 3.2 と同じ問題。これが私の 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" id="WebApp_ID" version="2.5">
  <display-name>jsf</display-name>
  <welcome-file-list>
    <welcome-file>Login.xhtml</welcome-file>
  </welcome-file-list>
  <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></description>
<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
<param-value>true</param-value>
  </context-param>
<context-param>
<description></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></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>
<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>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>

私のXHTMLファイルは次のようになります。

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:h="http://java.sun.com/jsf/html" 
  xmlns:p="http://primefaces.org/ui">
<h:head>
  <title><ui:insert name="title">Facelets Tutorial</ui:insert></title>
</h:head>
<body>
    <p:editor />
    <p:spinner />
</body>
</html>

サーバー (Tomcat 6) を起動すると、レンダリングされた HTML は次のようになります。h: タグは正常にレンダリングされ、p: タグは p: タグのままです。

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:p="http://primefaces.org/ui"><head>
  <title>Facelets Tutorial</title></head>
<body>
    <p:editor></p:editor>
    <p:spinner></p:spinner>
</body>
</html>

PrimeFaces jar をビルド パスに追加しましたが、ソース ファイルで PrimeFaces クラスを正常にインポート/使用できるため、それが認識されていることがわかります。PF ソースをダウンロードしてプロジェクトに追加し、それが確実に表示されるようにしましたが、まだこの問題があります。web.xml に追加の構成が必要ですか?

4

2 に答える 2

6

パスをビルドするかどうかに関係なく、PrimeFaces JAR ファイルが最終的/WEB-INF/libにビルドおよびデプロイされた WAR ファイルのフォルダーに配置されるようにする必要があります。症状は、そうではないことを示しています。

/WEB-INF/libEclipse では、Web プロジェクト構造のフォルダーに直接 PrimeFaces JAR ファイルをドロップするだけです。他に何もする必要はありません。Eclipse は、それをビルド パスとデプロイ アセンブリに自動的に追加します。PrimeFaces のインストールを試行する前に、ビルド パスで行ったすべての変更を元に戻すことを忘れないでください。

なんらかの理由で JAR を別の場所に保持し、手動でビルド パスを管理することを本当に主張する場合は、プロジェクトのプロパティの [展開アセンブリ] セクションにも手動で追加して、最終的に次の/WEB-INF/libフォルダーに配置する必要があります。戦争。

于 2012-04-21T03:47:06.787 に答える
2

「body」だけでなく、「h:body」を使用する必要があります。

于 2012-04-20T21:57:49.170 に答える