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