我正在使用jsf 1.1和icefaces 1.8。我有一个PartsInv.jsp页面和一个托管的PartsInv.java bean。我已经尝试过基于我遇到的谷歌点击的几个课程,并且觉得我越来越近,但我不能完全指出它。这就是我所拥有的:
HttpServletRequestWrapper hsrw;
String rcVal = hsrw.getAttribute("rc").toString();
但当然hsrw
没有正确实例化。我不确定如何(或者包裹它的内容)。任何帮助将不胜感激。
修改:根据Jigar的回答,我已将代码更新为以下内容:
HttpServletRequest hsr = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
if(hsr.getAttribute("rc") != null)
{
try
{
int rc = Integer.parseInt(hsr.getAttribute("rc").toString());
this.SOM_RC.setValue(rc);
this.changeRC(null);
}
catch(NumberFormatException nfe)
{
this.lblStatus.setValue("eASP error, please see an administrator.");
return;
}
}
编辑2:好的,所以我使用了错误的方法。 hsr.getParameter()
可以解决问题
答案 0 :(得分:4)
for JSF go
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
答案 1 :(得分:3)
如果你想要一个特定的参数,把它注入你的bean:
<managed-bean>
<managed-bean-name>fooBean</managed-bean-name>
<managed-bean-class>foo.FooBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>bar</property-name>
<property-class>java.lang.String</property-class>
<value>#{param.bar}</value>
</managed-property>
</managed-bean>
如果要引用参数的bean在更广泛的范围内,您可以从外部上下文(parameter; parameters)查找。
如果您真的想要查询字符串,可以使用表达式#{request.queryString}
从请求中注入that。