将变量从JSF javascript传递给Bean

时间:2014-11-10 17:43:48

标签: javascript jsf

我一直在寻找答案,但还没有找到答案......

我想将变量值FROM javascript传递给bean。是不是可以在不进入xhtml的情况下做到这一点?我想我只是愚蠢,但我还没有找到答案。有人可以给我一个真正的假人指南吗? :)

让我们说,我想将javascript变量X值发送到名为Bean" user"在bean中我有一个字符串的getter和setter。

假人导游,拜托。我似乎没有得到这个...老狗和新技巧,你知道:D

如果必须通过XHTML完成,我想使用p:remotecommand。


编辑:语录:"这个问题可能已经有了答案:"

也许是这样,但我仍然不理解它。我猜愚蠢...... :(

1 个答案:

答案 0 :(得分:0)

阿纳托利是对的:Primefaces'<p:remoteCommand>对此非常好。

在xhtml页面的任何位置声明remoteCommand,例如:

<p:remoteCommand name="SetMyStrings" actionListener="#{myBean.setMyStrings}" />

从您的Javascript中,您现在可以使用

调用remoteCommand
SetMyStrings([{ name: "string1", value: "Hello"}, {name="string2", value: "World"}]);

(或者从你的javascript变量中获取字符串值而不是硬编码)

最后,你需要在烘焙bean中做的就是收集 RequestParameter地图中的值:

public void setMyStrings(){
   Map<String, String> requestParamMap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();

   String string1 = requestParamMap.get("string1"); //Hello
   String string2 = requestParamMap.get("string2"); //World
}