struts2學習筆記–使用servletAPI實現ajax的一個小Demo

冬至飲雪發表於2016-02-16

  這個例子是點選網頁上的一個button,然後呼叫action,使用response項前臺列印”哎呦 不錯哦”,當然是以非同步形式實現.

  • jsp頁面:

 <head>
    <script type="text/javascript" src="jquery/jquery.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $(`#btn1`).click(function(){
                $.post("ajax.action",function(dat){
                    $(`#content`).css("display","block").html(dat);
                });
            });
            $(`#btn2`).click(function(){
            //    alert("a");
                $(`#content`).css("display","none");
            });
            
        });
    </script>
  </head>
  
  <body>
    <input type="button" name="btn" id="btn1" value="獲取ajax資訊"/><br>
    <h1 id="content"></h1>
     <input type="button" name="btn" id="btn2" value="隱藏ajax資訊"/><br>
  </body>
</html>
  • Action頁面:

package com.wang.action;

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
public class AjaxAction {

    public String execute() throws IOException{
        HttpServletResponse response=ServletActionContext.getResponse();
        response.setCharacterEncoding("utf-8");
        response.getWriter().print("哎呦  不錯哦");
        return null;
    }
}
  • struts.xml頁面:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1
//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"
> <struts> <package name="default" extends="struts-default" namespace="/"> <action name="ajax" class="com.wang.action.AjaxAction"> </action> </package> </struts>

需要注意的一點就是:action中execute()方法返回值為null即可,因為我們不需要跳轉到其他頁面,而strust.xml中也無需新增result標籤.


相關文章