我有一个 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");
// ...
关于spring - 如何从 JSF 1.2 中的 URL 获取请求参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12568916/