Jsf Primefaces 5-动态p:菜单问题
我对Primefaces还不熟悉,而且我一直在关注。 我已经成功构建了一个静态菜单。现在,我正在尝试构建一个非常简单的动态菜单,基本上是复制粘贴用户指南上的示例(如果您感兴趣,请参见第294页)。但它不起作用 这是我的XHTML页面:Jsf Primefaces 5-动态p:菜单问题,jsf,jsf-2,primefaces,menu,managed-bean,Jsf,Jsf 2,Primefaces,Menu,Managed Bean,我对Primefaces还不熟悉,而且我一直在关注。 我已经成功构建了一个静态菜单。现在,我正在尝试构建一个非常简单的动态菜单,基本上是复制粘贴用户指南上的示例(如果您感兴趣,请参见第294页)。但它不起作用 这是我的XHTML页面: <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/T
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>test-primefaces</title>
</h:head>
<h:body>
<h:form>
<p:menu model="#{menuBean.model}" />
</h:form>
</h:body>
菜单不起作用,当我尝试运行项目(我使用的是Netbeans)时,出现以下错误
找不到表达式为“messages”的组件,该表达式引用自“j_idt5:j_idt6”。 我无法理解为什么我会得到它,谷歌也无法帮助我。 最令人怀疑的是我在MenuBean.java中使用的注释和导入,因为Netbeans告诉我来自“javax.faces.bean”的注释在下一个JSF版本中将被弃用 另一个奇怪的事实是,在XHTML页面中,如果我改变
与
我没有得到错误,但是菜单没有呈现两个菜单项,我只看到一个菜单,有“动态子菜单”和“动态动作”,没有任何子项
我错过了什么?如有必要,我愿意提供有关我的代码/项目的更多信息。对我来说,最好先检查Primefaces showcase,然后再查看手册 根据示例,您需要该零件
<p:growl id="messages" showDetail="false"/>
我想这也是错误信息所说的,它丢失了
关于注释,请参见建议,即。由于JSF2.2,建议从JSFbean转移到CDIBeans。对我来说,最好先检查Primefaces showcase,然后再查看手册 根据示例,您需要该零件
<p:growl id="messages" showDetail="false"/>
我想这也是错误信息所说的,它丢失了
关于注释,请参见建议,即。自JSF2.2以来,建议从JSFbean转移到CDIBeans。找不到从“ju idt5:ju idt6”引用的表达式为“messages”的组件。意味着它无法从具有update=“message”属性的组件中找到具有id=“ju idt5:ju idt6”的组件,在代码中是item.setUpdate(“消息”)
另一个解决方案是删除item.setUpdate(“消息”);如果您不想更新任何内容,或者如果您想更新消息,您可以在页面中添加一个id为message的组件。找不到表达式为“messages”的组件,该表达式引用自“j_idt5:j_idt6”意味着它无法从id为的组件中找到id为“message”的组件在代码中具有属性的是item.setUpdate(“消息”)
另一个解决方案是删除item.setUpdate(“消息”);如果不想更新任何内容,或者如果要更新消息,请在页面中添加带有id消息的组件。检查showcase中的编程菜单:。至少你需要这个角色嘿,就是那样!请随意发布答案,我会接受的!谢谢
item.setUpdate(“消息”)
希望有一个名为messages的组件来传递更新..那么注释的OImport呢,它们是正确的吗?我想是这样,因为菜单现在正在运行,但是导入的库很快就会被弃用!对于@ManagedBean
您将改用@Named
,作用域来自cdi(javax.enterprise.context),但ViewScope
是javax.faces.view.ViewScoped
请检查showcase中的编程菜单:。至少你需要这个角色嘿,就是那样!请随意发布答案,我会接受的!谢谢item.setUpdate(“消息”)
希望有一个名为messages的组件来传递更新..那么注释的OImport呢,它们是正确的吗?我想是这样,因为菜单现在正在运行,但是导入的库很快就会被弃用!对于@ManagedBean
您将改用@Named
,作用域来自cdi(javax.enterprise.context),除了ViewScope
是javax.faces.view.ViewScoped