首頁 > web前端 > js教程 > 主體

如何從 JavaScript 將參數傳遞到 PrimeFaces 中的 p:remoteCommand?

Susan Sarandon
發布: 2024-10-24 14:01:31
原創
310 人瀏覽過

How to Pass Parameters to p:remoteCommand in PrimeFaces from JavaScript?

從JavaScript 向p:remoteCommand 傳遞參數

PrimeFaces 中的p:remoteCommand 元件提供了一種從JavaScript 執行伺服器端操作的便利方法JavaScript。可以將參數傳遞給遠端命令,從而實現客戶端和伺服器之間的動態資料傳輸。

PrimeFaces 3.3 及更高版本

在 PrimeFaces 3.3 及更高版本中,語法將參數傳遞給 p:remoteCommand 的方式已更改。您可以使用以下語法為單一參數指定多個值:

functionName([{name:'x', value:10}, {name:'y', value:20}]);
登入後複製

在支援bean 中,您可以使用「@ManagedProperty」或透過請求參數對應來存取這些參數:

@ManagedProperty(value = "#{param.x}")
private int x;

@ManagedProperty(value = "#{param.y}")
private int y;
登入後複製
<code class="java">Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
int x = Integer.valueOf(params.get("x"));
int y = Integer.valueOf(params.get("y"));</code>
登入後複製

PrimeFaces 3.2 及更早版本

在PrimeFaces 3.2 及更早版本中,傳遞參數的語法如下:

increment({param1:'val1', param2:'val2'});
登入後複製

在後台bean,您可以按照PrimeFaces 3.3 或更高版本的描述類似地存取參數。

多值的注意事項

在 PrimeFaces 3.3 之前,不可能傳遞多個值單一參數。要克服此限制,您可以在PrimeFaces 3.3 或更高版本中使用以下語法:
functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);
登入後複製

在支援bean 中,您可以使用「@ManagedProperty」或透過請求參數值映射來存取參數的多值:
@ManagedProperty(value = "#{paramValues.foo}")
private String[] foos;
登入後複製
<code class="java">Map<String, String[]> paramValues = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterValuesMap();
String[] foos = paramValues.get("foo");</code>
登入後複製

以上是如何從 JavaScript 將參數傳遞到 PrimeFaces 中的 p:remoteCommand?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!