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