将变量从JSF javascript传递到Bean

将变量从JSF javascript传递到Bean,javascript,jsf,Javascript,Jsf,我一直在寻找答案,但没有找到答案 我想将变量值从javascript传递给bean。不进入xhtml就可以做到这一点吗?我想我只是愚蠢,但我还没有找到答案。有人能给我一个真正的傻瓜指南吗?:) 比方说,我想将javascript变量X值发送给命名的Bean“user”,在Bean中,我有一个字符串的getter和setter 请给我虚拟导游。我只是不明白。。。老把戏和新把戏,你知道:D 如果必须通过XHTML完成,我想使用p:remotecommand 编辑:引用:“这个问题可能已经有答案了:

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

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

比方说,我想将javascript变量X值发送给命名的Bean“user”,在Bean中,我有一个字符串的getter和setter

请给我虚拟导游。我只是不明白。。。老把戏和新把戏,你知道:D

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


编辑:引用:“这个问题可能已经有答案了:”


也许是这样,但我还是不明白。我就是那么傻我猜…:(

Anatoly是对的:Primefaces的
非常适合这一点

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

<p:remoteCommand name="SetMyStrings" actionListener="#{myBean.setMyStrings}" />
(或ofc。从javascript变量中获取字符串值,而不是硬编码)

最后,在支持bean中需要做的就是从
RequestParameter
Map收集值:

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

   String string1 = requestParamMap.get("string1"); //Hello
   String string2 = requestParamMap.get("string2"); //World
}
public void setMyStrings(){
Map requestParamMap=FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String string1=requestParamMap.get(“string1”);//您好
String string2=requestParamMap.get(“string2”);//World
}

也许您可以定义不可见的输入字段,并用javascript将其填充为所需的值,然后调用p:remoteCommand来处理和更新此字段。但不要使用rendered=false使字段不可见,您将无法处理它。没有尝试过,但认为它可能会起作用。在我的Bean中,我必须使用Map吗?如果我只想设置为on我能用那个字符串设置器吗?我该怎么做。我试过了,但没用。
public void setMyStrings(){
   Map<String, String> requestParamMap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();

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