【前言】
struts2+jquery+ajax+注解配置的实现,
大费周章,终于实现了,记一下。
【jar包】
需要下面的jar包:
支持注解:struts2-convention-plugin-2.3.8.jar
支持json:struts2-json-plugin-2.3.8.jar和json-lib-2.3-jdk15.jar
以上的包在struts2文件夹中lib下都可以找到
【Action】
package com.ebeiwai.iLearner.studyCenter.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.json.annotations.JSON;
import com.jeecg.action.BaseAction;
@SuppressWarnings("serial")
//ajax要使用json传递数据,必须继承这个包
@ParentPackage(value="json-default")
@Action(
value = "studyCenter",
results = {
//ajax的方法,返回的Type必须是json
@Result(name = "courses", type="json"),
@Result(name = "success", location = "/jsp/iLearner/studyCenter/myCourses3.jsp")
}
)
public class StudyCenterAction extends BaseAction {
//进入页面
public String execute(){
return "success";
}
//ajax方法
public String loadCourses(){
test = "ndlajsflaksjd;flakjs;dflkj";
return "courses";
}
private String test;
//用json传递的属性加这个注解
@JSON
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}
【jsp】
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
<script type="text/javascript" src="jquery-1.9.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url : 'studyCenter!loadCourses.action',
type : 'post',
data : null,
dataType : 'json',
success : function(data) {
$('#content').append(data.test);
}
});
});
</script>
</head>
<body>
<!-- div中的内容是通过ajax加载的 -->
<div id="content"></div>
</body>
</html>