有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JSF数据表链接到另一个页面

我有这张桌子:

<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) 个答案

  1. # 1 楼答案

    试试这个:

    <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>  
    
  2. # 2 楼答案

    试试这个代码

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