gpt4 book ai didi

eclipse - 简单的primefaces应用程序不起作用

转载 作者:行者123 更新时间:2023-11-30 23:45:25 25 4
gpt4 key购买 nike

我正在尝试使用 primefaces 构建简单的 JSF 应用程序,但不知何故,primefaces 组件无法正确呈现。我不明白出了什么问题。

我正在尝试显示以下 Facelet 文件:

<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:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<link type="text/css"
rel="stylesheet"
href="/Themes/primefaces-dot-luv/theme.css" />
</h:head>
<h:body>
<p:spinner value="100" style="height: 10px" />
<br/>
<p:button value="Navigate"></p:button>
</h:body>
</html>

我正在使用 eclipse 在 tomcat 服务器上运行该应用程序。当我运行应用程序并在浏览器(firefox)中查看页面源代码时,我得到以下源代码:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:p="http://primefaces.prime.com.tr/ui">
<head>
<link type="text/css" rel="stylesheet" href="Themes/primefaces-dot-luv/theme.css" />
</head>
<body>
<p:spinner value="100" style="height: 10px"></p:spinner>
<br />
<p:button value="Navigate"></p:button>
</body>
</html>

我认为 PrimeFaces 组件没有正确渲染。其他 JSF 标签,如 <h:head><h:body>正确转换为 <head><body>元素分别。仅以 <p:> 开头的标签不转换。

以下是我的项目结构:

enter image description here

我的 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>HelloJSF</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.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>
</servlet-mapping>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>none</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>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<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>
</web-app>

我正在使用 eclipse ,tomcat 服务器。 JSF 2 和 primefaces 3 库。

Hi, After some close inspection of entire project I found out that primefaces jar dowlonaded from site did not had any classes. Jar itself was corrupt. I downloaded same jar thrice then also jar was getting corrupt. So I downloaded zip file containing source and binaries and my application started working.

最佳答案

尝试更改您的 web.xml servlet 映射:

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

判断 Facelets Servlet 是否正在处理您的 xhtml 的方法是查看浏览器接收到的内容。如果它看起来像您的 xhtml 文件,那么您配置错误。

关于eclipse - 简单的primefaces应用程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7219372/

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