1

私はこのタブビューコンポーネントを持っています:

<p:tabView id="tabView"
        var="tab"
        dynamic="true"
        cache="true"
        value="#{integrationBean.tabs}">

        <p:ajax event="tabChange"
            listener="#{integrationBean.tabChanged}"
            update="tabContent"/>

そして、属性をajaxリクエストに渡す必要があります。何かのようなもの

<p:ajax event="tabChange"
                listener="#{integrationBean.tabChanged}"
                update="tabContent">
<f:param name="id" value="#{integrationBean.id}" />
<!-- OR -->
<f:attribute name="id" value="#{integrationBean.id}" />
<!-- Neither of this works -->
</p:ajax>

だから私はできる

@Value("#{request.getParameter('id')}")
protected Long id;

私の豆に。このパラメータをリクエストに渡す方法は?

4

3 に答える 3

3

を使用し<p:remoteCommand>ます。

<p:ajax event="tabChange" oncomplete="tabChangeCommand()" />
<p:remoteCommand name="tabChangeCommand" actionListener="#{integrationBean.tabChanged}" update="tabContent">
    <f:param name="id" value="#{integrationBean.id}" />
</p:remoteCommand>
于 2013-03-13T18:53:31.020 に答える
-1

<f:param/>xhtmlで使用する

<f:param name="id" value="#{integrationBean.id}" />

ExternalContext#getRequestParameterMap()バッキングBeanから取得するために使用できます

Map<String, String> map = (Map<String, String>) externalContext.getRequestParameterMap();

String paramValue= map.get("paramName");
于 2013-03-04T16:38:59.830 に答える
-1

id を flash スコープに入れて ajax リクエストで取得することで解決しました。これは理想的なソリューションではありませんが、機能します。

于 2013-03-05T07:51:53.787 に答える