Jsf java.lang.UnsupportedOperationException:无法设置ServletRequest参数

Jsf java.lang.UnsupportedOperationException:无法设置ServletRequest参数,jsf,jsf-1.2,http-request-parameters,Jsf,Jsf 1.2,Http Request Parameters,我正在从事一个JSF1.1项目 JSP: FacesHelper.getRequestParameter是 public static String getRequestParameter(String parameter) { return (String) FacesContext.getCurrentInstance().getExternalContext() .getRequestParameterMap().get(parameter); } 我希望

我正在从事一个JSF1.1项目

JSP:

FacesHelper.getRequestParameter

public static String getRequestParameter(String parameter) {
    return (String) FacesContext.getCurrentInstance().getExternalContext()
            .getRequestParameterMap().get(parameter);
}
我希望通过Java手动设置该参数,而不使用UI。我试着用这个:

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().put("#{VastuId}", reservationBean.getParentReservationProperty());              
String rowId = FacesHelper.getRequestParameter("VastuId");
System.out.println("selectedVastuId = "+rowId);
它在
getRequestParameterMap().put()处引发异常

这是如何导致的,我如何解决它?

是只读的。在servlet环境中,此数据结构表示URL的查询部分中的值(例如
http://foo/bar?queryValue=queryKey
)服务器只能通过向浏览器发出重定向调用来更改这些值

基本JSF 1.1/1.2实现中可用的每用户读/写范围是和

将数据放入范围时,应使用文字名称,而不是EL表达式:

FacesContext.getCurrentInstance()
            .getExternalContext()
            .getRequestMap()
            .put("VastuId", reservationBean.getParentReservationProperty()); 

然后,可以使用表达式
{VastuId}
{requestScope.VastuId}
在视图中解析此值。我将在min.中多次尝试。在Get-am使用.getRequestParameterMap().Get(参数)时,我可以使用.getRequestMap().put(,)?.getRequestMap().put(“VastuId”),id)如果.getRequestParameterMap().put(“VastuId”,id)给我空值,则给出相同的错误。我将它用于我的REST Web服务如果
FacesContext
为空值,则您正试图在
FacesServlet
外部访问它。这是不受支持的。我在一个简单的类中放置和获取它的值。对于get,我使用FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(参数),它给我警告类型安全:方法put(对象,对象)属于原始类型映射。对泛型类型映射的引用应参数化
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().put("#{VastuId}", reservationBean.getParentReservationProperty());              
String rowId = FacesHelper.getRequestParameter("VastuId");
System.out.println("selectedVastuId = "+rowId);
java.lang.UnsupportedOperationException: Cannot set ServletRequest Parameter
at org.apache.myfaces.context.servlet.RequestParameterMap.setAttribute
(RequestParameterMap.java:44)
at org.apache.myfaces.context.servlet.AbstractAttributeMap.put(AbstractAttributeMap.java:104)
FacesContext.getCurrentInstance()
            .getExternalContext()
            .getRequestMap()
            .put("VastuId", reservationBean.getParentReservationProperty());