这个例子是点击网页上的一个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标签.