1

Fooというクラスが1つあります。そして、FooBeanと呼ばれる1つのManagedBean。ページ(Facelet)で、ユーザーから新しいFoo情報を取得し、それをDBに挿入します。データの最初の送信後、印刷ボタンが有効になります。ここで、ユーザーが印刷ボタンをクリックして、PrintFooBeanを使用した印刷ページである他のページ(Facelet)を表示する必要があります。最近挿入されたFooのIDをPrintFooBeanに渡してロードし、そのアイテムを印刷ページに表示するにはどうすればよいですか?

最善の方法は何ですか?そして、私はユーザーが新しいブラウザウィンドウ/タブで印刷ページを見るのを好みます。

4

1 に答える 1

1

リクエストパラメータとして渡します。

<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>

印刷Beanに。を入力しidます。

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

Fooに基づいて同じBeanにデータをプリロードしますid

@PostConstruct
public void init() {
    this.foo = fooDAO.find(id);
}
于 2011-02-03T17:19:20.950 に答える