在JSF支持bean中获取JavaScript设置的隐藏值

时间:2010-09-11 13:02:10

标签: javascript jsf ajax4jsf

我想在JSF支持bean中获取JavaScript值。我尝试了以下内容:

JSF:

<h:inputHidden id="fileName" value="#{TestBean.fileName}" />
<a4j:commandButton id="button" value="Send Mail" action="#{TestBean.send}" onclick="onCall()"/>

Bean:

public String send() {
    System.out.println("File Name: " + fileName);
}

JS:

function onCall(){
    //value changes dynamically everytime this function is called
    document.getElementById('case:fileName').value = '123';
}

此代码的问题是:它第一次在辅助bean中获取空字符串 从第二次起,它在java脚本函数中获得了先前生成的值。

我哪里出错了,我该如何解决?

2 个答案:

答案 0 :(得分:1)

我刚试过这段代码,它在我的机器上工作正常。正如我所看到的,代码并没有完全复制粘贴,因为send()方法存在错误。它声明了返回类型String,但它不会返回任何内容。

也许你的错误出现在你没有复制的代码部分。

答案 1 :(得分:0)

您需要在内部使用带有commandButton的{​​4} actionParam。请参阅此答案:https://stackoverflow.com/a/10534779/268016