現在、JSPを使用して簡単に解決できる問題があります。とにかくIDが入ったページが生成されました。 JSFは実行時にこの値を読み込み(例えばページの読み込み)、このIDを持つDBのクエリを実行して結果を表示する必要があります。 JSPでは、これは簡単なことではありませんが、JSFでは外部からBeanのデータを操作する方法がわかりません。何か案は?事前にJSFでページでレンダリングされた値を読み取る
Thxを、 クリス
現在、JSPを使用して簡単に解決できる問題があります。とにかくIDが入ったページが生成されました。 JSFは実行時にこの値を読み込み(例えばページの読み込み)、このIDを持つDBのクエリを実行して結果を表示する必要があります。 JSPでは、これは簡単なことではありませんが、JSFでは外部からBeanのデータを操作する方法がわかりません。何か案は?事前にJSFでページでレンダリングされた値を読み取る
Thxを、 クリス
このスニペットを使用してJavaコードの値を読み出すことができ、私はむしろそれ一環ただろう(URI、パラメータなど)をHTTPリクエストの何らかの形で呼び出すか、モデル内で実行します。
JSTLc:set
を使用すると、ビューからBeanプロパティを設定することができます。レンダリング応答には、そのセッターメソッドまたはf:view beforePhase
を使用して実行できます。
public class Bean {
private String id; // +getter+setter
public void onload(PhaseEvent event) {
// Value of id is available here.
System.out.println(id); // 123
}
// ...
}
ヒントのおかげで、私はこれを行うと思います。これを超えている理由は、CMSが静的ページを生成するためです。著者はCMSでDBを選択することができます。IDはページにレンダリングされ、いくつかの愚かな技術的な決定のために、JSFでこれを正しく実行する方法を試してみる必要があります。私はここでJSFを使用していないでしょうが、私はちょうど仲間です。 – methical
HM、私はあなたがJavaコードからGET引数を読み出したいことを正しく理解していますか?
URLはhttp://www.example.com/?foo=bar
である、あなたはそれは、このIDは、ビュー側にハードコードされていることは本当に私を超えます
FacesContext context = FacesContext.getCurrentInstance();
String theValue = context.getExternalContext().getRequestParameterMap().get("foo");
そのパラメータがページにレンダリングされる前に – methical
と
ため、このIDは何ですか?これはどのように供給されますか?ハードコーディング?リクエストパラメータ? – BalusC
このIDは、IDに接続されているDB内のエントリを取得するために使用されます。 IDはハードコードされています。 – methical
JSPでどのようにしたのですか?私たちはJSFで試すことができます – mvg