当前位置: 首页 > 面试题库 >

如何在Primefaces tabView中设置活动标签?

燕宏胜
2023-03-14
问题内容

我有一个菜单栏,其中子菜单上的两个项目都调用同一页面:

<p:menubar autoSubmenuDisplay="true">  
   <p:submenu label="Perfil">  
       <p:menuitem value="Editar" url="perfil.xhtml" />  
       <p:menuitem value="Ver" url="perfil.xhtml" />  
   </p:submenu>  
</p:menubar>

在该页面中,我有一个带有两个选项卡的选项卡视图:

<p:tabView dynamic="true">  
    <p:tab id="ver" title="Ver perfil">  
        <ui:include src="verPerfil.xhtml" />    
    </p:tab>  
    <p:tab id="editar" title="Editar perfil">   
    <ui:include src="editarPerfil.xhtml" />  
    </p:tab>  
</p:tabView>

如何设置活动标签,以便每个菜单项都激活相应的标签?


问题答案:

如果您想这样做,则不能使用url中的,p:menuitem因为我们必须 跳到prefil.xhtml页面 之前
调用一种方法来更改tabindex 。如果使用url,则在我们跳到prefil.xhtml页面后将调用该方法。

首先,您可以使用的操作字段p:menuitem,该方法返回您要跳过的地址:

<p:menubar autoSubmenuDisplay="true">  
    <p:submenu label="Perfil">  
        <p:menuitem value="Editar" action="#{some.editar}" ajax="false"/>  
        <p:menuitem value="Ver" action="#{some.ver}" ajax="false" />  
    </p:submenu>  
</p:menubar>

这两种方法可以更改tabindex,如下所示:

public String editar() {
    tabindex = 0;
    return "verPerfil";
}

public String ver() {
    tabindex = 1;
    return "verPerfil";
}

然后,p:tabView具有一个名为的属性activeIndex。它是活动选项卡的索引,其默认值为0。因此,您可以执行以下操作:

<p:tabView dynamic="true" activeIndex="#{some.tabindex}" >
    <p:tab id="ver" title="Ver perfil">
        <ui:include src="verPerfil.xhtml" />
    </p:tab>
    <p:tab id="editar" title="Editar perfil">   
        <ui:include src="editarPerfil.xhtml" />
    </p:tab>
</p:tabView>

然后,每个菜单项都会激活相应的选项卡。



 类似资料:
  • 问题内容: 嗨,我在每个页面上的网站上都有一个菜单,我想将其放在自己的menu.php文件中,但是我不确定如何为我所在的任何页面设置 class =“ active” 。这是我的代码:请帮助我 menu.php: 问题答案: 如果您要在脚本中构建一个页面数组并将其与当前活动页面一起传递到视图文件,将会更容易: 使用像Smarty这样的模板引擎,您的menu.php看起来会更好:

  • 问题内容: 我有这个: 在角度我有这个: 但是我该如何在单击时更改此设置,以便如果用户在菜单上单击一次即可激活,如果再次单击将不处于激活状态? 问题答案: 好吧,假设您有多个菜单项,并且想要根据点击来切换课程, 您可以 在控制器中 创建一个将菜单项表示为的数组, 分配默认的选定菜单项 创建一个函数来分配选定的菜单值,此函数将分配最后一个选定的菜单项。 在 HTML中 遍历数组并创建菜单。 在检查最

  • 总体: 我试图为一个特定的spring配置文件运行gradle build任务,但在通过以下测试时出现了一个错误: 注意:我对生成尝试了相同的方法,但生成任务不存在build.SystemProperty方法。 因为我是新来的,如果你能和我分享你真正的解决方案,我会很感激。

  • 我有两个按钮“编辑” '公共类DepartmentAdapter扩展ArrayAdapter实现OnClickListener{ }' 在onClick()中,无法启动活动并出错: <代码>10-21 13:15:11.116:E/AndroidRuntime(11718):致命异常:main 10-21 13:15:11.116:E/AndroidRuntime(11718):java。lang

  • 问题内容: 我在AngularJS中设置了这样的路由: 我在顶部栏上有一些链接的标签样式。如何根据当前模板或URL将“活动”类添加到选项卡? 问题答案: 一种无需依赖URL即可解决此问题的方法是在配置过程中向每个部分添加自定义属性,如下所示: 在您的控制器中公开: 根据当前活动选项卡设置类:

  • 问题内容: 我有一个活动,其标题会不断变化,但有时会很长,并且最终会出现省略号。我可以将椭圆设置为中间吗? 问题答案: ((TextView) ((FrameLayout) ((LinearLayout) ((ViewGroup) getWindow() .getDecorView()).getChildAt(0)).getChildAt(0)).getChildAt(0)) .setEllips