如何使用jsf将参数从url传递到另一个bean

时间:2017-10-24 14:38:19

标签: java jsf jsf-2 parameter-passing

我会解释。如何通过param get on click按钮并传递另一个bean并重定向到另一个页面。代码是:

的index.xhtml

<h:form>
   <h:dataTable ... >
      <h:column>
         <f:facet name="header">Responder</f:facet>
            <h:commandButton value="Responder e-mail" class="btn btn-info" action="#{respostaBean.responder(registro)}" />
      </h:column>
   </h:dataTable>
</h:form>

当在commandButtton中单击时,我想要显示一个bean:

RespostaController.java

@SessionScoped
@ManagedBean(name = "respostaBean")
public class RespostaController implements Serializable {
  ...
   public String responder(Registro registro){
        manager.getTransaction().begin();
        manager.persist(resposta);
        manager.getTransaction().commit();
        manager.close();
        return "responder?faces-redirect=true";
    }
...

点击按钮后需要显示此页面并在另一页面中传递show的显示。

responder.xhtml

<f:metadata>
    <f:viewParam name="companyId" value="#{registroBean.registro.id}" />
    <f:viewAction action="#{registroBean.responder}" />
</f:metadata>

Responder protocolo:
    <h:outputText value="#{registroBean.registro.protocolo}" />

但由于我无法传递参数,因此协议未显示。恢复:我只想将参数传递给另一个URL,因为我想在另一个页面上使用它以及另一个bean(respostaBean和registroBean)。因为我有两个bean,它们之间有一对一的关系,所以我需要将参数传递给responder.xhtml页面。你能帮助我吗?谢谢!

0 个答案:

没有答案