【问题标题】:primefaces default css theme overriden by custom templateprimefaces 默认 css 主题被自定义模板覆盖
【发布时间】:2012-05-17 04:38:36
【问题描述】:

我有一个带有过滤、排序和分页功能的数据表。 在我将现成的设计模板应用到我的应用程序之前,一切都运行良好。我猜自定义的现成模板覆盖了默认的 primefaces 主题。所以数据表功能不起作用......现在我得到一个没有主题的普通数据表...... 我想应用自定义模板来增强我的应用程序设计,但我也想保持 primefaces 组件设计不变。我应该怎么办? 请提出解决方案...

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
   <meta http-equiv="Content-type" content="text/html; charset=UTF-8"/> 
<title>Scrip Master | Dashboard Admin</title> 

    <h:outputStylesheet library="css" name="reset.css"/>
    <h:outputStylesheet library="css" name="text.css"/>
    <h:outputStylesheet library="css" name="layout.css"/>
    <h:outputStylesheet library="css" name="jquery-ui-1.css"/>
    <h:outputStylesheet library="css" name="jquery.css"/>
    <h:outputStylesheet library="css" name="custom.css"/>

&lt;link rel="stylesheet" href="css/layout.css" type="text/css" media="screen" title="no title"/&gt;

<h:outputScript library="js" name="jquery-1.js"/>
<h:outputScript library="js" name="excanvas.js"/>
<h:outputScript library="js" name="facebox.js"/>
<h:outputScript library="js" name="jquery-ui-1.js"/>
<h:outputScript library="js" name="jquery_002.js"/>
<h:outputScript library="js" name="jquery_003.js"/>
<h:outputScript library="js" name="jquery_005.js"/>
<h:outputScript library="js" name="jquery_004.js"/>
<h:outputScript library="js" name="jquery.js"/>
<h:outputScript library="js" name="widgets.js"/>
<h:outputScript library="js" name="dashboard.js"/>

</h:head>

【问题讨论】:

  • 你添加的只是一个css?或者还包括一些js?还可以在您的萤火控制台中查看一些错误,您可能还想使用 来确保首先加载您的自定义内容... (stackoverflow.com/a/10205451/617373)
  • 感谢您的帮助,css 现在工作正常,但我想 jquery 有一些问题,数据表仍然无法正常工作......看看我下面的代码并提出一些解决方案,什么我失踪了吗?

标签: java css jsf primefaces


【解决方案1】:

你添加的只是一个CSS?或者还包括一些js?还可以查看你的萤火虫控制台是否有一些错误,你可能也想使用

<f:facet name="first"> 
   <h:outputScript ..../>
   <h:outputStylesheet.../> 
</f:facet> 

以确保您的自定义内容将首先加载...

也看这里taking care of the order that js files being loaded

您是否有机会尝试包含您自己的 jquery 库?或任何其他 jquery 插件?

编辑

对我来说似乎是 jquery 冲突

删除附加jquery库js文件的include

改为添加以下内容

<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<h:outputScript target="head">
    $ = jQuery;
</h:outputScript>

如果不起作用,请尝试使用 &lt;f:facet name="first"&gt; ... &lt;/f:facet&gt; 包装它

【讨论】:

  • 请通过在评论中附加代码来重新编辑您的原始问题,以便阅读......(另外,如果您发现其他一些对您有帮助/有用的问题,您可以 +1: )
  • 我应该给 ...取什么名字?错误:缺少名称属性(对于 h:outputScrip 标签)
  • 奇怪......从来没有这个错误......它在你的 eclipse/netbeans 中吗?还是您的网络服务器这么说?
  • 我也尝试了 ...仍然无法正常工作...我还删除了所有自定义 jquery,仍然一样,数据表无法正常工作跨度>
  • 感谢伙伴的帮助...实际上我犯了一个愚蠢的错误 - 我忘记给我的
    其 ID 并试图访问丢失的 ID...
猜你喜欢
  • 2020-12-20
  • 1970-01-01
  • 2012-02-04
  • 1970-01-01
  • 2019-08-01
  • 2013-05-05
  • 2021-03-26
相关资源
最近更新 更多