我想将大量参数从一个 JSF 页面传递到另一个页面。
对于较少数量的参数,我在侦听器方法中使用 ExternalContext#redirect() ,其 url 包含如下参数:
FacesContext.getCurrentInstance().getExternalContext().redirect("/faces/someDir/index.jsf?p1=a&p2=b");
如果我对大量参数做同样的事情,它就不起作用。我的理解是,浏览器对 URL 的大小有限制。如果 URL 有更多 tahn 约。2000个字符它不起作用。
我尝试了一个前锋
FacesContext.getCurrentInstance().getExternalContext().dispatch("/faces/someDir/index.jsf?p1=a&p2=b");
但随后目标页面对源页面的数据起作用。原因可能是我的软件架构,我在这里无法详细解释......
我的问题:有没有人有类似的问题和解决方案?