2014-01-21 32 views
1

我只是想知道如何將一個參考像#top添加到commandLink的目標動作中?如何附加例如一個#top引用到<p:commandLink>?

基本上在我的情況該<p:commandLink>坐落在一個<p:dataTable>,並將行價值的current,物業一個bean:

<p:commandLink ajax="false" 
       action="#{bean.viewSomePage()}" 
       value="#{record.name}"> 
     <f:setPropertyActionListener value="#{record}" 
            target="#{bean.current}" /> 
</p:commandLink> 

Bean中viewSomePage() - 方法只是提供導航目標:

public String viewSomePage() { 
    return "index?faces-redirect=true"; 
} 

瀏覽器的地址欄顯示index.xhtml。但是我怎樣才能實現像index.xhtml#status這樣的顯示?

我想要做的就是根據這個answer連接<p:tabView>的特定<p:tab>。它已經在工作,但我無法通過<p:commandLink>鏈接它。當然,我已經試圖簡單地將它附加在viewSomePage()-方法中,但沒有成功。

Thx任何幫助!

回答

1

這不受JSF導航處理程序支持。最好的辦法是用手工所需的URL調用ExternalContext#redirect()與所需的片段標識符:

public void viewSomePage() throws IOException { 
    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext(); 
    ec.redirect(ec.getRequestContextPath() + "/index.xhtml#status"); 
} 

或者,如果你碰巧使用JSF工具庫OmniFaces已經:

public void viewSomePage() throws IOException { 
    Faces.redirect("index.xhtml#status"); 
} 
相關問題