我必须使用导航规则编写JSF应用程序。 我有一些主要是requestScoped的ManagedBeans。当用户单击commandLink或commandButton时,我想传递一个Parameter(例如当前Bean的id),因此Bean可以使用此传递的id在数据中填充数据,以查找已使用数据库中的数据。 出于这个原因,我使用了以下溶剂:
...
<navigation-rule>
<display-name>mainpage.xhtml</display-name>
<from-view-id>/mainpage.xhtml</from-view-id>
<navigation-case>
<from-action>#{postBean.findById(post.id)}</from-action>
<from-outcome>single</from-outcome>
<to-view-id>/postpage.xhtml</to-view-id>
<redirect include-view-params="true">
<view-param>
<name>id</name>
<value>#{postBean.post.id}</value>
</view-param>
</redirect>
</navigation-case>
</navigation-rule>
...
这样可以在URL中看到view-param但是Eclipse总是显示错误:
cvc-complex-type.2.4.a:从元素'view-param'开始发现无效内容。其中一个是{{http://xmlns.jcp.org/xml/ns/javaee“:redirect-param}'。
我是否必须使用其他东西,eclipse luna jee不能识别view-param标签,我该如何删除此错误?
(faces配置版本为2.2,我不使用像primefaces或richfaces这样的框架)
答案 0 :(得分:0)
这是Mojarra实现2.2的一个已知问题"redirect-param are ignored #3403"。您必须使用view-param而不是redirect-param来使其工作。它已在2.3中修复。