【问题标题】:"PrimeFaces is not defined" error“未定义 PrimeFaces”错误
【发布时间】:2012-03-25 01:52:36
【问题描述】:

我正在尝试使用 PrimeFaces 打印机功能进行打印。我创建了一个新的 GlassFish 3 Java EE 项目并添加了 PrimeFaces 3.1.1 .jar 文件。

我目前使用的代码如下:

<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">

  <h:head>
    <title>Facelet Title</title>
  </h:head>
  <h:body>
    <h:form>
      <h:outputText id="a" value="AA" />
      <h:commandLink id="btn" value="Print">
        <p:printer target="a" />
      </h:commandLink>
    </h:form>
  </h:body>
</html>

很遗憾,打印功能不起作用。相反,FireBug 控制台向我显示以下错误:

PrimeFaces 未定义

【问题讨论】:

  • 你有&lt;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:p="http://primefaces.org/ui"&gt;吗??
  • 你定义了javascript代码吗?
  • 是的,我有 html,但我没有定义任何 javascript
  • 确保您在 xhtml 文件中添加了

标签: javascript jsf-2 primefaces printing


【解决方案1】:

如果你没有 head 标签,你会得到那个错误。

Primefaces 需要一个 head 标签才能工作。

请参阅他们的常见问题解答中的#2

http://primefaces.org/faq.html

【讨论】:

  • 是的,这对我来说绝对是。
  • 我有 而不是 更改解决了我的问题,我的 UI 几乎整齐地排序
【解决方案2】:

这是一个小缺陷,已在 3.2 中修复。最后;

http://code.google.com/p/primefaces/issues/detail?id=3670

【讨论】:

    【解决方案3】:

    如果您不允许访问,也会发生这种情况

    ${webapp}/javax.faces.resources/**

    检查您的安全 XML 配置。

    Primefaces 未定义的 JavaScript 错误。

    【讨论】:

      【解决方案4】:

      试试这个...(如果这不起作用,它可能是一个错误 - 在问题跟踪器上打开一张票...)

      <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:p="http://primefaces.org/ui">  
      
          <h:head>  
      
          </h:head>  
      
          <h:body>  
           <h:form>
            <h:commandButton id="btn" value="Print">
              <p:printer target="output" />
            </h:commandButton>
            <h:outputText id="output" value="PrimeFaces Rocks!" />
      
            <h:outputLink id="lnk" value="#">
                <p:printer target="image" />
                <h:outputText value="Print Image" />
            </h:outputLink>
            <p:graphicImage id="image" value="/images/nature1.jpg" />
      
            </h:form>   
          </h:body>  
      </html>  
      

      听着……primefaces 正在使用 jqprint jquery 插件……在等待 primefaces 官方回复时,你最好直接尝试使用它……

      【讨论】:

      • 我收到此错误:PrimeFaces 未定义localhost:8080/WebApplication1/javax.faces.resource/… Line 2186
      • 我认为问题是别的,因为这个问题很奇怪
      • 我试过使用 除了 嗯...
      • 是的,它不能正常工作,你试过运行那个代码吗?如果它甚至对你不起作用,我会将其添加到问题跟踪器中
      • same here(不适用于 3.0 版本)...听 primefaces 正在使用 jqprint jquery 插件...。您可能最好在等待官方 primefaces 响应时直接尝试使用它...
      【解决方案5】:

      您需要添加 PrimeFaces 命名空间。

      xmlns:p="http://primefaces.org/ui"  
      

      看看the PrimeFaces Getting Started guide

      【讨论】:

        【解决方案6】:

        如果我只在表单上使用 p:calendar,我也会遇到同样的问题。视图上的所有标签都是 jsf/facelet 标签。唯一的 primefaces 标签是日历。看起来好像 java-script 作为优化被删除了?

        如果我将更多标签添加为 p:dataTable,java 脚本错误就会消失并且日历组件可以正常工作。也许这会给你指出一些地方。作为一种解决方法,您可以在表单上使用 render=false 设置一个 p:dataTable。

        【讨论】:

        • 只需升级到最新版本。在旧版本中,某些组件在primefaces.js 上缺少@ResourceDependency。否则,您始终可以通过 &lt;h:outputScript&gt; 明确包含它。
        • 我在 Primefaces 3.4 上遇到问题
        【解决方案7】:

        我有同样的问题。我在 jsf 页面顶部添加了&lt;!DOCTYPE html&gt; 标签并修复了它。

        【讨论】:

          【解决方案8】:

          我遇到了同样的错误,我自己的脚本中使用了 PrimeFaces 变量。

          这是我所做的:

          变量PrimeFaces在primefaces库的core.js中定义。

          在浏览器中查看网页的源代码(例如,使用开发者工具/F12)并检查您的使用PrimeFaces var 的脚本是否放置在core.js 之后。如果不是这种情况,请将脚本移动到源文件中的另一个位置。例如。就在&lt;/body&gt; 标签之前。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多