【前言】
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>