Ioa*_*oan 2 jsf primefaces jsf-2
是否可以设置当前显示的标签编程的<p:wizard>
?
例如,我想要对包含向导的同一页面的两个不同请求,以选择不同的选项卡.
我目前正在尝试做的是,有一个带有许多选项卡的向导,在第二个选项卡中我有一个重定向到另一个页面,所以当我回来时,我想进入导致重定向的最后一步.
你能帮我么 ?非常感谢 !
根据primefaces文档step
,p:wizard
tag 有一个属性,它指定了你当前所在向导的步骤.
attribute: step
default value: 0
type: String
description:流程中当前步骤的Id
您必须将此属性绑定到辅助bean的值,并在重定向和返回期间对其进行维护.如果你的向导的bean @ViewScoped
在重定向步骤中你将丢失该信息,那么你必须使用视图参数或flash范围传递它.
我的回答很可能无法满足您的完整要求,但是,它可能会为您指明问题的解决方案。
据我所知,PrimeFaces向导UIComponent位于设计的工作流程一个页面。这实际上意味着输入将由视图范围内的支持 bean 处理。
这样,在某个步骤上进行重定向将清除所有数据输入,因为您的视图发生变化并且旧的视图被破坏。
总之,设置当前选项卡显示的一种方法是向导组件的步骤属性。所以,
<p:wizard step="#{wizardBean.currentStep}" >...</p:wizard>
Run Code Online (Sandbox Code Playgroud)
将强制向导显示您在 bean 中指定的步骤。例如,您可以使用视图参数来获取它,例如
<f:viewParam name="step" value="#{wizardBean.currentStep}" />
Run Code Online (Sandbox Code Playgroud)
但是,如果您的 bean 的生命周期比视图更有意义,例如,bean 可以放在会话范围内。
也就是说,也许事先登录是一个更好的主意。或者,如果绝对有必要在向导的第 2 步中执行此操作,请在页面本身或流行窗口中提供内置登录功能?
此外,您所说的设置可以通过将组件绑定到支持 bean 并在支持 bean 中设置 step 值(例如,在 preRenderView 事件中)以编程方式实现。
归档时间: |
|
查看次数: |
7611 次 |
最近记录: |