Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从支持bean设置参数_Java_Jsf_Jpa - Fatal编程技术网

Java 从支持bean设置参数

Java 从支持bean设置参数,java,jsf,jpa,Java,Jsf,Jpa,我正在使用JSF构建一个CRUD web应用程序,并制作了一个add表单,用于创建一个新实体,该实体将持久化到数据库中。在成功保存时,我希望用户导航到一个页面,在该页面中显示新创建实体的详细信息 更详细地说,我不想做的是创建一个导航规则,在成功保存时,用户将被导航到“DilitionDetail.xhtml”。我使用“faces navigation.xml”来实现这一点。这部分很好用 我的问题是,我需要传递一个参数,该参数允许我获取新创建实体的id。下面是add表单中的commandButto

我正在使用JSF构建一个CRUD web应用程序,并制作了一个add表单,用于创建一个新实体,该实体将持久化到数据库中。在成功保存时,我希望用户导航到一个页面,在该页面中显示新创建实体的详细信息

更详细地说,我不想做的是创建一个导航规则,在成功保存时,用户将被导航到“DilitionDetail.xhtml”。我使用“faces navigation.xml”来实现这一点。这部分很好用

我的问题是,我需要传递一个参数,该参数允许我获取新创建实体的id。下面是add表单中的commandButton

<p:commandButton value="Save" action="#{dilution.save()}">
    <f:actionListener binding="#{dilution.prepareForSave()}" />
</p:commandButton>
调用
das.create(dilization)
后,
dilization
实体将具有我想要作为参数传递的id。我如何才能做到这一点?

您需要使用自己的
@ViewScoped
托管bean来支持“dilutionDetail.xhtml”。使其接收视图参数,该参数将是您要加载的稀释id:

<f:metadata>
    <f:viewParam name="id" value="#{dilutionDetailBean.id}" />
    <f:event type="preRenderView" listener="#{dilutionDetailBean.loadDilution}"/>
</f:metadata>
另请参见:

<f:metadata>
    <f:viewParam name="id" value="#{dilutionDetailBean.id}" />
    <f:event type="preRenderView" listener="#{dilutionDetailBean.loadDilution}"/>
</f:metadata>
Integer id = das.create(dilution);
return "dilutionDetail?id="+id;