如何在单击tabview选项卡时转到新页面

时间:2011-04-18 08:48:40

标签: jsf primefaces tabview

我有一个名为 Tabview1 的页面,其中包含tabview。

   Tabview1.xhtml:
       <p:tabView>
            <p:tab title="1">
               <ui:include src="/Apanel.xhtml"/>
            </p:tab>
            <p:tab title="2">
            </p:tab>
            <p:tab title="3">
            </p:tab>
        </p:tabView>

如果点击名为 2 的标签,我想转到Tabview2.xhtml页面。

Tabview2.xhtml:
       <p:tabView>
            <p:tab title="1">
            </p:tab>
            <p:tab title="2">
               <ui:include src="/Bpanel.xhtml"/>
            </p:tab>
            <p:tab title="3">
            </p:tab>
        </p:tabView>

谁能帮帮我?

2 个答案:

答案 0 :(得分:0)

Tabview会为每个标签创建一个包含一个元素的列表。每个<li>都包含<a href="#j_idtXXX">。在您的网站上创建一个脚本,将这些链接更改为Tabview2.xhtml。例如,如果您将tabview的ID设置为“tabview”:

jQuery("#tabview ul a").first().attr("href", /MyPortal/Tabview2.jsf?tab=0);

如果您配置了一个viewparam并在tabview上设置了activeIndex="#{controllerClass.activeIndex}",这将导致第一个标签指向新页面,并选择该页面上的右侧标签。

我现在很急,所以我只有时间写一个简短的例子,但如果你有一些javascript的技巧,那就不应该太难了。

答案 1 :(得分:0)

               <p:tabView>
            <p:tab title="Title1">
               <p:panel>  
                <ui:include src="tabView1.xhtml" />
               </p:panel>
            </p:tab>
            <p:tab title="Title 2">
                 <p:panel>  
                <ui:include src="tabView2.xhtml" />
                 </p:panel>
             </p:tab>           
        </p:tabView>