${param.P}其中 P 是参数。
因为 param 图是只读的,所以如果它被用作 UIInput 类型组件的值,那么 JavaServer Faces 生命周期的 updateModel 阶段将失败。结果,表单将显示为中断,因为从未运行其操作,这是已知问题。所以,应该只能在输出组件上使用 param 映射。解决此问题的一个方法是在 Faces JSP 页的页代码文件中定义变量。然后为它生成 getter 和 setter。在 getter 方法中,将它初始化为 resolveExpression("#{param.xyz})(如果它为 NULL)。接着,创建输入组件并将它绑定至页面的属性。
requestScope.put("P", "some value");
可以通过 #{requestScope.P} 值来引用目标页。在输入和输出组件上都可以使用请求限定作用域。
requestScope 中的 ParametersValues,顾名思义,是不能持久的。这可能会引起问题,特别是如果在 requestScope 参数上将关系记录列表过滤到支持分页的数据表中。分页的操作将启动参数超出限定作用域的提交。要解决此问题,请创建将该参数用作值的隐藏输入字段。此方法不能用于具有多个表单(包括 portlet)的页面,这些表单都将返回至相同页面。在这种情况下,请考虑参数(建议)或关系记录列表(不建议)的其他限定作用域。