gpt4 book ai didi

java - 在 ManagedBean 之间传递数据

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:06 27 4
gpt4 key购买 nike

我有一个名为 Foo 的类。还有一个名为 FooBean 的 ManagedBean。在页面(Facelet)中,我从用户那里获取新的 Foo 信息并将其插入到数据库中。首次提交数据后,将启用打印按钮。现在我需要用户单击打印按钮并查看另一个页面(Facelet),这是带有 PrintFooBean 的打印页面。如何将最近插入的 Foo 的 ID 传递给 PrintFooBean 并加载它并在打印页面上显示其项目?

最好的方法是什么?我更喜欢用户在新的浏览器窗口/选项卡中查看打印页面。

最佳答案

将其作为请求参数传递。

<a href="print.jsf?id=#{foo.id}" target="_blank">print</a>

或者通过 JS window.open 不显眼地逐步增强

<a href="print.jsf?id=#{foo.id}" target="_blank"
onclick="window.open('print.jsf?id=#{foo.id}'); return false;">print</a>

使用 id 填充打印 bean。

@ManagedProperty(value="#{param.id}")
private Long id;

根据id在同一个bean中预加载Foo数据。

@PostConstruct
public void init() {
this.foo = fooDAO.find(id);
}

关于java - 在 ManagedBean 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4888211/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com