0

JSF バッキング Bean で JavaScript 値を取得したいと考えています。私は次のことを試しました:

JSF:

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

豆:

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 で空の文字列を初めて取得するのは、2 回目以降は Java スクリプト関数で以前に生成された値を取得することです。

どこが間違っていて、どうすれば解決できますか?

4

2 に答える 2

1

このコードを試したところ、私のマシンでは問題なく動作しました。ご覧のとおり、send()メソッドに誤りがあるため、コードは正確にコピーアンドペーストされていません。return typeStringを宣言していますが、何も返しません。

ここにコピーしなかったコードのどこかに間違いがあるのか​​もしれません。

于 2010-09-12T21:04:52.820 に答える
0

内部で a4jcommandButtonを使用する必要があります。actionParamこの回答を参照してください: https://stackoverflow.com/a/10534779/268016

于 2012-05-10T13:15:52.520 に答える