日历没有弹出PrimeFaces

时间:2011-08-01 17:00:10

标签: java jsf calendar primefaces

我正在尝试将日历效果(使用Primeface)添加到我的JSF网页。我正在使用Netbeans 6.9.1和glassfish 3.1。

我按照this blog

中的说明将Primeface安装到我的应用程序中

并从Primefaces website复制了一些代码。我复制了整个表单并将其粘贴到我的xhtml文件中。我相应地更改了bean类。

我没有在我的网页中弹出日历。为什么会这样呢?我在Chrome和Firefox上测试了这个仍然没有运气。有人可以帮助我

2 个答案:

答案 0 :(得分:6)

首先,确保您已在XML命名空间中声明了PrimeFaces标记库。对于当前的PrimeFaces 2.x版本,即

xmlns:p="http://primefaces.prime.com.tr/ui"

其次,PrimeFaces附带了许多CSS / JS资源,这些资源应该由<h:head>自动包含。日历组件(以及许多其他组件)由这些资源进行样式设置和激活。因此,为了让它们自动包含在内,您需要确保在主模板中有<h:head>而不是<head>。为了保持一致,请将<body>替换为<h:body>


根据评论

更新,存在JavaScript冲突。 <p:calendar>以最简单的形式工作正常。它停止工作,因为你的模板中有一个jQuery菜单栏,而这需要一个<script src="jquery.js">。由于PrimeFaces已经捆绑了jQuery,因此很可能与手动jQuery脚本包含冲突。你需要摆脱手工jQuery脚本包含。

答案 1 :(得分:1)

当您使用jquery datepicker小部件并且我还假设日历widgit时,您可以设置区域参数以使用特定国家/地区的日期格式。 例如: $.datepicker.setDefaults( $.datepicker.regional[ "en-GB" ] ); 如果这样做,您必须包含适当的定义,例如:     &lt; script type =“text / javascript”src =“js / datepicker-en-GB.js”&gt;&lt; / script&gt;