当前位置: 首页 > 知识库问答 >
问题:

将primefaces选项卡视图activeIndex的值传递给小部件管理的bean

鲁向明
2023-03-14

我有一个使用菜单项的tabMenu每个菜单项都有一个参数“I”,该参数链接到activeIndex,以指示单击选项卡时要加载的页面。

我面临的问题是,我需要获取I的这个参数值来调用另一个正在执行操作/处理的小部件。是否有任何方法可以获取I的这个参数值并将其传递给我的widget托管bean(widget包含一个命令按钮,该按钮应该调用widget托管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>

谁能给我指路吗?提前谢谢。

共有1个答案

龚钧
2023-03-14

好的,我找到答案了

在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);
 类似资料:
  • 在我的应用程序中,我想使用一个动态tabView,其中每个选项卡都有一个不同页面的< code>ui:include。我有一个扩展< code>Tab的< code>TabObject列表。< code>TabObject有一个xhtml页面作为字符串属性: 在我的第一次尝试中,我想动态添加选项卡: 但是不适用于使用此技术的变量。到目前为止,我的解决方案是: 这是我的方法: 在事件回调中,我无法获

  • 我有一个左向的Tabview。 我想减少选项卡标题的数量,它们太大了。我该怎么做?

  • 我在使用PrimeFaces5.0和JSF2.2时遇到了一个问题。5.使用两个选项卡共享同一ManagedBean和同一对象的,事件无法按预期工作。当用户更改选项卡时,我希望执行与单击按钮相同的验证,但事件不会刷新bean值,而是发布值。我能够用这个简单的例子重现这个问题。xhtml代码: 管理豆: } 我尝试了,但没有成功。我是不是遗漏了什么?提前谢谢。 重要更新: 在花了一些时间调试prime

  • 我试图上传文件,并通过PrimeFaces 3.5从选择框传递一个参数。 这是我的表格: ConfiguratioBean只是一个JSFbean,其中包含的getter和setter。 我的配置操作bean: 我收到文件时,我点击上传,但参数总是从.如果我尝试切换文件上传到简单模式,把文件作为一个值在,并有一个命令按钮上传单个文件,然后它是工作。但我需要上传是。所以问题是,如果PrimeFaces

  • 问题内容: 在我的RCP应用程序中,左侧有一个用于导航的视图,右侧有一个用于视图的文件夹。透视图看起来像这样: 我想根据用户在导航树中选择的内容打开不同的视图。认为这并不难。我的导航树视图: 这似乎很好。仅有一个小问题:我需要以某种方式将对象(例如,selectedItem)传递给我的视图,以使用户与其内容进行交互。我怎么做? 我看到了一些示例,其中一些同事编写了自己的视图,并将其放置在右侧。然后

  • 在模板中,我有一些这样的代码: 这是“脚本”部分: 我想为选定的学生添加一些新课程,为了做到这一点,我创建了获取课程ID号和课程分数的表单。首先,当我填写表单时,当我点击“添加”按钮时,javascript创建表格,我可以添加许多课程,然后当我应该提交它以在视图部分执行其他步骤并将所有课程保存在数据库中时。我有一些问题,如果有人帮助我,我很高兴。 1)如何将“stock”数组(javaScript