【发布时间】:2014-06-03 20:38:41
【问题描述】:
背景信息:
应用服务器:Weblogic 12.1.2
Primefaces 5.0 与 JSF 2.1
今天早上我在尝试访问我的应用程序中的任何 xhtml 页面时遇到了以下 Javascript 错误:
Expected identifier, string, or number
primefaces.js.xhtml
Code: 0
URI: http://localhost:7002/TestApplication/javax.faces.resource/primefaces.js.xhtml?ln=primefaces&v5.0
在前一天晚上和今天早上我最后一次部署代码或应用程序服务器之间,没有对代码或应用程序服务器进行任何更改。我今天花了几个小时研究,发现了相当多的信息,但我发现没有一个能够解决问题。
我尝试使用 100% 默认设置创建一个全新的项目。新项目也存在问题。
警告
当我从页面中删除某些组件时,该错误似乎停止显现。例如,我创建了以下测试页面:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Test Page</title>
</h:head>
<h:body>
<b>Test Content</b>
<p:commandButton value="Button"/>
<p:outputLabel value="Label"/>
<p:dataTable/>
</h:body>
</html>
当我尝试查看此页面时,我收到上述错误以及另外两个 'PrimeFaces' is undefined 错误。页面渲染和所有组件似乎都可以正常工作(例如,在我的真实应用程序中,将填充数据表,命令按钮将执行操作。),但某些组件(例如 selectOneMenu、menuButton 和 menuitem)不起作用。
我没有任何自定义 Javascript 代码,如您所见,我有“h:head”标签。
如果我从上面的示例页面中删除 commandButton 和 dataTable,所有错误都会停止并显示页面。此外,为了更好地衡量,我重新下载了 PrimeFaces jar 以确保我没有使用错误的副本(正如我在另一个 StackOverflow 问题中看到的那样)。
我真的不知道如何继续。有没有人遇到过这种情况?
一如既往,感谢您提供的任何帮助。
【问题讨论】:
-
我不推荐 pf 5 用于生产,因为有一些重大变化和许多错误(我们试图更新我们的应用程序,但我们最终返回到 pf 4),另一方面,是你使用 maven?,如果不是,你应该检查 las stable deploy,因为即使我们也可以使用 pf 5 中的按钮和表格(其他一些组件作为列表和过滤器似乎被破坏了)
-
您是否将 primefaces jar 文件添加到您的构建路径中?好像没有加载需要的js文件。
-
只是跟进。 Primefaces jar 被添加到构建路径中,Primefaces 组件的大部分功能都可以工作。不幸的是,JavaScript 错误仍然存在。
标签: java jsf jsf-2 primefaces weblogic