我试图添加日历效果(使用Primeface)到我的JSF网页。我使用Netbeans 6.9.1和glassfish 3.1。
我安装了Primeface到我的应用程序中,如本文所述
从Primefaces网站上复制了一些代码。我复制了整个表单并将其粘贴到我的xhtml文件中。我相应地改变了bean类。
我没有得到日历弹出在我的网页。为什么会这样?我在Chrome和Firefox上进行了测试,仍然没有成功。
首先,确保已经在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脚本包括。
当您使用jquery datepicker小部件(我假设也是日历小部件)时,您可以设置区域参数以使用特定国家的日期格式。例如:$.datepicker.setDefaults( $.datepicker.regional[ "en-GB" ] );
如果你这样做,你必须包括适当的定义,例如。