m-namikiの日記

おもしろき こともなき世を おもしろく

SAStruts + jQuery

Ajaxはあんまり使ったことがないので、勉強を兼ねて現在作成中のサンプルに組み込んでみようと思い、まずはチュートリアルの真似から始める。まずは単純なパターンから。

// Action
@Execute(validator=false)
public String hello() {
    ResponseUtil.write("こんにちは");
    return null;
}
<span id="message"></span><br>
<input type="button" value="hello"
    onclick="$('#message').load('hello');"/>

これはsa-struts-tutorialそのままなので問題なし。

次にパラメータを受け取るパターン。

// Action
/** Ajax用パラメータ */
public String greeting;
@Execute(validator=false)
public String hello() {
    ResponseUtil.write(greeting);
    return null;
}
<span id="message"></span><br>
<input type="button" value="hello"
    onclick="$('#message').load('hello',{'greeting':'Hello'});"/>

これも問題ないだろうと思いきや、画面に表示されたのは「null」の文字。ありゃ?これはパラメータが受け渡せてないってことだよなぁ。URLを使ってパラメータを渡す方法も試してみたけど同じく「null」だった。何が間違ってるのかよく分からん…。もっと基礎的なところから勉強しないとダメだな、これは。