3

サブスクリプション後にユーザーにリンク付きの電子メールを送信するSpring + JSF 1.2アプリケーションがあります。リンクには、次のようなリクエスト パラメータが含まれています。

www.myapp.com/register.jsf?var=1

JSF バッキング Bean でこの要求パラメーターを取得するにはどうすればよいですか?

4

1 に答える 1

4

SpringとJSFのどちらを使用してBeanを管理しているかは明確ではありませんが、標準のJSF 1.2では、正確なリクエストパラメータ名は次の値で<managed-property>登録する必要があります。<managed-bean>#{param.var}var

<managed-bean>
    ...
    <managed-property>
        <property-name>var</property-name>
        <value>#{param.var}</value>
    </managed-property>
</managed-bean>

したがって、Beanにプロパティがある場合

private String var; // +setter (getter is not mandatory)

@PostConstruct次に、次の方法でアクセスして処理できます。

@PostConstruct
public void init() {
    System.out.println("var is: " + var);
}

まったく異なる代替手段として、リクエストパラメータから直接取得することもできます。

String var = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("var");
// ...
于 2012-09-24T16:27:39.140 に答える