Struts 2+jQuery実現ajax

2107 ワード

1、struts 2のjsonプラグインをwebプロジェクトのlibに加入して、
jsonpluginのダウンロード先:
http://code.google.com/p/jsonplugin/downloads/list
2、struts.xml ajax用のpackageを追加します。

<package name="ajax" extends="json-default">
        <action name="ajaxRequest"
            class="org.david.struts2.HelloWorld">
            <result type="json"></result>
        </action>
</package>
3、ハローワールド.jsp

<SCRIPT type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
        <SCRIPT type="text/javascript">
            function clickButton()
            {    
                var url = 'ajaxRequest.action';
                var params = {
                        name:$('#name').attr('value')
                };
                jQuery.post(url, params, callbackFun, 'json');
            }
            function callbackFun(data)
            {
                alert(data.result);//  HelloWorld  message  
                    //         
            }
</SCRIPT>
<input id="name" type="text">
<input type="button" value="ok" onclick="javascript:clickButton();">
4、ハローワールド.java

package org.david.struts2;

public class HelloWorld {

    private String name;
    private String result;

    // ajax      
    public void setName(String name) {
        this.name = name;
    }

    // ajax    
    public String getResult() {
        return result;
    }

    public String execute() {
        this.result = "Hello! " + this.name + ".";
        return "success";
    }
}