JSF Datatable链接到另一个页面

时间:2011-12-18 12:31:19

标签: java jsf primefaces

我有这张桌子:

<p:dataTable value="#{requestBean.requestsList}" var="requestClass" style="width:50px;" id="requestList">  
    <p:column>  
        <f:facet name="header">  
            <h:outputText value="ID" />  
        </f:facet>  
        <h:outputText value="#{requestClass.requestID}" />  
    </p:column>  

    <p:column>  
        <f:facet name="header">  
            <h:outputText value="Status" />  
        </f:facet>  
        <h:outputText value="#{requestClass.requestStatus}" />  
    </p:column>  

    <p:column>  
        <f:facet name="header">  
            <h:outputText value="Details" />  
        </f:facet>  
        <h:outputText value="#{requestClass.requestTitle}" />  
    </p:column>
</p:dataTable>  

现在行正确显示数据,但我希望能够点击记录ID。我什么时候去另一个页面,例如review.xhtml其中url参数是该ID。所以像这样:review.xhtml?id="clicked request"。怎么做的?

更新:我尝试了这个,它确实有点工作,但在实践中是否正确?

<p:column>  
    <f:facet name="header">  
        <h:outputText value="ID" />  
    </f:facet> 
    <a href="review.xhtml?id=#{requestClass.requestID}">
        <h:outputText value="#{requestClass.requestID}" />  
    </a>
</p:column>  

2 个答案:

答案 0 :(得分:6)

试试这个:

<p:column>  
   <f:facet name="header">  
      <h:outputText value="ID" />  
   </f:facet>  
   <h:link outcome="review" value="#{requestClass.requestID}" >
      <f:param name="id" value="#{requestClass.requestID}" />
   </h:link>  
</p:column>  

答案 1 :(得分:2)

试试这段代码

<h:outputLink value="#{bean.url}">
    <h:outputText value="Go to another page."/>   
    <f:param name="paramid" value="#{bean.id}" />
</h:outputLink>