将 primefaces tabview activeIndex 的值传递给小部件托管 bean
passing value of primefaces tabview activeIndex to a widget managed bean
我有一个使用菜单项的 tabMenu,每个菜单项都有一个参数 "i",它链接到 activeIndex 以指示单击选项卡时要加载的页面。
我面临的问题是,我需要获取 i 的这个参数值来调用另一个正在执行操作/处理的小部件。有什么办法可以获取 i 的这个参数值并将其传递给我的小部件托管 bean(小部件包含一个命令按钮,该按钮应该调用小部件托管 bean 中的方法并根据所选菜单进行一些处理).
小部件与选项卡菜单分离,但仍与选项卡菜单位于同一页面上。有办法吗?
TabMenu 是这样的:
<p:tabMenu activeIndex="#{param.i}">
<p:menuitem value="AAA" outcome="/ABC/DEF/123.xhtml">
<f:param name="i" value="0" />
</p:menuitem>... continued similar menuitem for 3 times with values for i 0-3
</p:tabMenu>
我的小部件包含一个如下所示的命令按钮:
<h:commandButton outcome="widget" action="#{mbean.callWidgetMethod}" >
</h:commandButton>
有人可以指导我吗?提前致谢。
好的,我找到答案了
在 xhtml 中:
<h:commandButton outcome="widget" action="#{bean.callWidgetMethod}" >
<f:param name="i" value="#{param['i']}" />
</h:commandButton>
在托管 Bean 中:
Map<String,String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String param = params.get("i");
System.out.println("i = "+param);
我有一个使用菜单项的 tabMenu,每个菜单项都有一个参数 "i",它链接到 activeIndex 以指示单击选项卡时要加载的页面。
我面临的问题是,我需要获取 i 的这个参数值来调用另一个正在执行操作/处理的小部件。有什么办法可以获取 i 的这个参数值并将其传递给我的小部件托管 bean(小部件包含一个命令按钮,该按钮应该调用小部件托管 bean 中的方法并根据所选菜单进行一些处理).
小部件与选项卡菜单分离,但仍与选项卡菜单位于同一页面上。有办法吗?
TabMenu 是这样的:
<p:tabMenu activeIndex="#{param.i}">
<p:menuitem value="AAA" outcome="/ABC/DEF/123.xhtml">
<f:param name="i" value="0" />
</p:menuitem>... continued similar menuitem for 3 times with values for i 0-3
</p:tabMenu>
我的小部件包含一个如下所示的命令按钮:
<h:commandButton outcome="widget" action="#{mbean.callWidgetMethod}" >
</h:commandButton>
有人可以指导我吗?提前致谢。
好的,我找到答案了
在 xhtml 中:
<h:commandButton outcome="widget" action="#{bean.callWidgetMethod}" >
<f:param name="i" value="#{param['i']}" />
</h:commandButton>
在托管 Bean 中:
Map<String,String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String param = params.get("i");
System.out.println("i = "+param);