JSF中参数传递的动态导航

JSF中参数传递的动态导航,jsf,primefaces,navigation,parameter-passing,Jsf,Primefaces,Navigation,Parameter Passing,我想根据selectOneMenu的选择,将下面清单Dynamicly中的“title”参数传递给另一个jsf Facelet。我的第一种方法如下所示: exerciseditorBean是视图范围的 然后,openEditor()函数通过selectedExerciseType属性决定下一步显示哪个Facelet,并返回类似“multipleEchoiceEditor.xhtml”的内容。 我现在如何将titel属性传递给这个Facelet?我现在在目标servlet中使用f:ViewPa

我想根据selectOneMenu的选择,将下面清单Dynamicly中的“title”参数传递给另一个jsf Facelet。我的第一种方法如下所示:


exerciseditorBean是视图范围的

然后,openEditor()函数通过selectedExerciseType属性决定下一步显示哪个Facelet,并返回类似“multipleEchoiceEditor.xhtml”的内容。
我现在如何将titel属性传递给这个Facelet?

我现在在目标servlet中使用f:ViewParam,除了“multipleechoiceeditor.xhtml?includeViewParams=true”不起作用之外,它工作得很好,但这是另一个问题。谢谢讨论

JSF是为基于HTTP post请求的导航而设计的。这意味着当您导航到一个页面时,参数也会以这种方式传递。我非常不喜欢这个事实,因为它也不允许书签。我更喜欢基于参数化URL的get请求进行导航。在我看来,URL应该看起来像
/editor/multipleechoice
,而不是
/editor.xhtml
/editor.xhtml?type=multipleechoice
。如果你感兴趣,可以看看漂亮的脸蛋@siebz0r,您可以为使用
生成的URL添加书签,并方便地将带有
includeViewParams=true的参数传递给其中任何一个URL。它们都使用commandXXX componentsSee@kolossus生成了与stock POST相反的get,这是否是一个漂亮的解决方案有待讨论;-)在JSF中,唯一的servlet是
FacesServlet
。每次你(错误地)输入“servelet”时,你可能想说“Facelet”。