Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 如何传递查询字符串参数?_Jsf 2 - Fatal编程技术网

Jsf 2 如何传递查询字符串参数?

Jsf 2 如何传递查询字符串参数?,jsf-2,Jsf 2,我们希望将一个变量作为查询字符串参数从一个页面的请求范围内的支持bean传递给下一个页面的视图范围内的另一个支持bean 我试图使用@ManagedParam,但找不到此签名 有什么方法可以做到这一点吗?您可能想使用@ManagedProperty。这在视图范围的bean上不可用于设置请求参数,因为视图范围比请求范围更广 传递请求参数并对其调用操作的规范JSF2方法如下所示: view.xhtmlview: <h:link value="Edit" outcome="edit">

我们希望将一个变量作为查询字符串参数从一个页面的请求范围内的支持bean传递给下一个页面的视图范围内的另一个支持bean

我试图使用
@ManagedParam
,但找不到此签名


有什么方法可以做到这一点吗?

您可能想使用
@ManagedProperty
。这在视图范围的bean上不可用于设置请求参数,因为视图范围比请求范围更广

传递请求参数并对其调用操作的规范JSF2方法如下所示:

view.xhtml
view:

<h:link value="Edit" outcome="edit">
    <f:param name="id" value="#{item.id}" />
</h:link>
<f:metadata>
    <f:viewParam name="id" value="#{edit.id}" />
    <!-- You would normally also convert/validate it here. -->
    <f:event type="preRenderView" listener="#{edit.init}" />
</f:metadata>
Edit
backingbean:

@ManagedBean
@ViewScoped
public class Edit {

    private Long id;

    public void init() {
        // This method will be invoked after the view parameter is set.
    }

    // ...
}
另见:

如何从h:commandLink中执行相同的操作,从默认情况下触发不带查询字符串的POST请求的第一页备份Bean中的action方法执行此操作。您需要发送重定向作为结果。例如,
return”/edit.xhtml?id=“+item.getId()+”&;faces redirect=true”我只是不明白在考虑你最初的问题时这有什么意义。具体的功能要求是什么?感谢您的回复…我有一个要求,它可以是h:link,这样我们就可以使用f:viewparam,第二个我们必须调用action方法,所以使用了h:commandlink,然后我们需要重定向到公共页面,为查询字符串提供不同的值…啊,好的。今后,请就此提出新问题,而不是将其作为对现有但不相关问题的评论发布。