第一步:匯入包 將struts2的json外掛程式加入web工程的lib,jsonplugin的:http://code.google.com/p/jsonplugin/downloads/list
第二步:struts.xml添加專為ajax使用的package
<package name="ajax" extends="json-default">
<action name="ajaxRequest"
class="org.david.struts2.HelloWorld">
<result type="json"></result>
</action>
</package>
說明:json-default已經繼承了struts-default
第三步:用js展示出資料
<SCRIPT type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<%@ taglib prefix="s" uri="/struts-tags"%>
<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)
{
var bb = data.listArticles;//對應HelloWorld類的message屬性
for( i=0;i<bb.length;i++){
if(bb[i].title.==‘1’){
alert('已經有了')
}
}
//擷取資料後渲染頁面
}
</SCRIPT>
說明://listArticles是返回來的list類型,也就是和數群組類型一樣的,這裡的.length返回的數組的對象,
bb[i].title.==‘1‘返回的對象的標題,
第四步:Action中的代碼
private String name;
private List<Article> listArticles;
get set方法
@Override
public String execute() throws Exception {
listArticles = this.articleService.findAllArticle();
return SUCCESS;
}
說明:articleService不能有get方法(spring依賴注入的),只能有set方法。
第五步:jsp中的代碼
<input id="name" type="text">
<input type="button" value="ok" onclick="javascript:clickButton();">