我想在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脚本函数中获得了先前生成的值。
我哪里出错了,我该如何解决?
答案 0 :(得分:1)
我刚试过这段代码,它在我的机器上工作正常。正如我所看到的,代码并没有完全复制粘贴,因为send()
方法存在错误。它声明了返回类型String
,但它不会返回任何内容。
也许你的错误出现在你没有复制的代码部分。
答案 1 :(得分:0)
您需要在内部使用带有commandButton
的{4} actionParam
。请参阅此答案:https://stackoverflow.com/a/10534779/268016