struts2+ajax+json 实例

本文详细介绍了如何在Struts2中集成JSON支持,包括引入必要的包、配置struts.xml文件、实现Java类以及JSP页面的使用。通过示例代码,展示了如何创建JSON响应并调用AJAX进行数据交互。

http://bo-hai.iteye.com/blog/1422612

1、struts2 要支持json,需要先引入包,包的下载地址如下:

http://code.google.com/p/jsonplugin/downloads/list

2、根据struts2的版本,选择jar包。

3、配置struts.xml文件:

Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">  
  3. <struts>  
  4.     <package name="TestJson" extends="json-default,struts-default" namespace="/bbs">  
  5.         <action name="GoView" class="com.json.action.JsonAction" method="goView">  
  6.             <result name="success">/GOView.jsp</result>  
  7.         </action>  
  8.            
  9.         <action name="getUserName" class="com.json.action.JsonAction" method="getUserName">  
  10.             <result type="json"/>  
  11.         </action>  
  12.     </package>       
  13. </struts>  

 

4、JAVA类信息如下:

Java代码 复制代码  收藏代码
  1. public class JsonAction extends ActionSupport {   
  2.   
  3.     private static final long serialVersionUID = 105155412743741566L;   
  4.        
  5.     private User        user;   
  6.        
  7.     public String goView() throws Exception {   
  8.         return SUCCESS;   
  9.     }   
  10.   
  11.     public String getUserName() throws Exception {   
  12.         return SUCCESS;   
  13.     }   
  14.        
  15.     public User getUser() {   
  16.         return user;   
  17.     }   
  18.   
  19.     public void setUser(User user) {   
  20.         this.user = user;   
  21.     }   
  22. }  
public class JsonAction extends ActionSupport {

	private static final long serialVersionUID = 105155412743741566L;
	
	private User		user;
	
	public String goView() throws Exception {
		return SUCCESS;
	}

	public String getUserName() throws Exception {
		return SUCCESS;
	}
	
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
}

 

5、JSP页面如下:

 

Java代码 复制代码  收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
  2. <html>   
  3.     <head>   
  4.         <base href="<%=basePath%>">    
  5.         <meta http-equiv="pragma" content="no-cache">   
  6.         <meta http-equiv="cache-control" content="no-cache">   
  7.         <meta http-equiv="expires" content="0">              
  8.         <title>JSON学习</title>   
  9.         <script language="javascript" type="text/javascript" src="<%=basePath%>JQuery/jquery-1.6.js"></script>   
  10.         <script type="text/javascript">   
  11.             function testJSON() {   
  12.                 var username = "isoftstone";   
  13.                 $.ajax({   
  14.                     type:'post',   
  15.                     url:'bbs/getUserName.action',   
  16.                     dataType:'json',   
  17.                     data:{   
  18.                         "user.username":username   
  19.                     },   
  20.                     success:function(msg){   
  21.                         alert(msg.user.username);   
  22.                     }   
  23.                 });   
  24.             }   
  25.         </script>   
  26.     </head>   
  27.     <body>   
  28.         <input type="button" value="测试JSON" onClick="JavaScript:testJSON()"/>   
  29.     </body>   
  30. </html>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<base href="<%=basePath%>">	
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">    		
		<title>JSON学习</title>
		<script language="javascript" type="text/javascript" src="<%=basePath%>JQuery/jquery-1.6.js"></script>
		<script type="text/javascript">
			function testJSON() {
				var username = "isoftstone";
				$.ajax({
					type:'post',
					url:'bbs/getUserName.action',
					dataType:'json',
					data:{
						"user.username":username
					},
					success:function(msg){
						alert(msg.user.username);
					}
				});
			}
		</script>
	</head>
	<body>
		<input type="button" value="测试JSON" onClick="JavaScript:testJSON()"/>
	</body>
</html>

 

6、运行程序及可。

7、注意事项:

(1) 引入的包要正确;

(2) struts.xml的package定义要正确:

Xml代码 复制代码  收藏代码
  1. <package name="TestJson" extends="json-default,struts-default" namespace="/bbs">  

 

(3) JQuery 使用ajax 接受数据的格式是:JSON。


本系统旨在构建一套面向高等院校的综合性教务管理平台,涵盖学生、教师及教务处三个核心角色的业务需求。系统设计着重于实现教学流程的规范化与数据处理的自动化,以提升日常教学管理工作的效率与准确性。 在面向学生的功能模块中,系统提供了课程选修服务,学生可依据培养方案选择相应课程,并生成个人专属的课表。成绩查询功能支持学生查阅个人各科目成绩,同时系统可自动计算并展示该课程的全班最高分、平均分、最低分以及学生在班级内的成绩排名。 教师端功能主要围绕课程与成绩管理展开。教师可发起课程设置申请,提交包括课程编码、课程名称、学分学时、课程概述在内的新课程信息,亦可对已开设课程的信息进行更新或撤销。在课程管理方面,教师具备录入所授课程期末考试成绩的权限,并可导出选修该课程的学生名单。 教务处作为管理中枢,拥有课程审批与教学统筹两大核心职能。课程设置审批模块负责处理教师提交的课程申请,管理员可根据教学计划与资源情况进行审核批复。教学安排模块则负责全局管控,包括管理所有学生的选课最终结果、生成包含学号、姓名、课程及成绩的正式成绩单,并能基于选课与成绩数据,统计各门课程的实际选课人数、最高分、最低分、平均分以及成绩合格的学生数量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值