サブスクリプション後にユーザーにリンク付きの電子メールを送信するSpring + JSF 1.2アプリケーションがあります。リンクには、次のようなリクエスト パラメータが含まれています。
www.myapp.com/register.jsf?var=1
JSF バッキング Bean でこの要求パラメーターを取得するにはどうすればよいですか?
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");
// ...