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。


【论文复现】一种基于价格弹性矩阵的居民峰谷分时电价激励策略【需求响应】(Matlab代码实现)内容概要:本文介绍了一种基于价格弹性矩阵的居民峰谷分时电价激励策略,旨在通过需求响应机制优化电力系统的负荷分布。该研究利用Matlab进行代码实现,构建了居民用电行为与电价变动之间的价格弹性模型,通过分析不同时间段电价调整对用户用电习惯的影响,设计合理的峰谷电价方案,引导用户错峰用电,从而实现电网负荷的削峰填谷,提升电力系统运行效率与稳定性。文中详细阐述了价格弹性矩阵的构建方法、优化目标函数的设计以及求解算法的实现过程,并通过仿真验证了所提策略的有效性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事需求响应、电价机制研究或智能电网优化等相关领域的科研人员及研究生。; 使用场景及目标:①研究居民用电行为对电价变化的响应特性;②设计并仿真基于价格弹性矩阵的峰谷分时电价激励策略;③实现需求响应下的电力负荷优化调度;④为电力公司制定科学合理的电价政策提供理论支持和技术工具。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,深入理解价格弹性建模与优化求解过程,同时可参考文中方法拓展至其他需求响应场景,如工业用户、商业楼宇等,进一步提升研究的广度与深度。
针对TC275微控制器平台,基于AUTOSAR标准的引导加载程序实现方案 本方案详细阐述了一种专为英飞凌TC275系列微控制器设计的引导加载系统。该系统严格遵循汽车开放系统架构(AUTOSAR)规范进行开发,旨在实现可靠的应用程序刷写与启动管理功能。 核心设计严格遵循AUTOSAR分层软件架构。基础软件模块(BSW)的配置与管理完全符合标准要求,确保了与不同AUTOSAR兼容工具链及软件组件的无缝集成。引导加载程序本身作为独立的软件实体,实现了与上层应用软件的完全解耦,其功能涵盖启动阶段的硬件初始化、完整性校验、程序跳转逻辑以及通过指定通信接口(如CAN或以太网)接收和验证新软件数据包。 在具体实现层面,工程代码重点处理了TC275芯片特有的多核架构与内存映射机制。代码包含了对所有必要外设驱动(如Flash存储器驱动、通信控制器驱动)的初始化与抽象层封装,并设计了严谨的故障安全机制与回滚策略,以确保在软件更新过程中出现意外中断时,系统能够恢复到已知的稳定状态。整个引导流程的设计充分考虑了时序确定性、资源占用优化以及功能安全相关需求,为汽车电子控制单元的固件维护与升级提供了符合行业标准的底层支持。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值