初试SSH2中使用ajax和json进行交互
来源:互联网 发布:linux用dd制作启动盘 编辑:程序博客网 时间:2024/06/11 02:04
带队伍就是啥都得懂点。搞过solr,nutch,ssh2,搭建svn+邮件提醒+code review开源工具reviewboard等等,现在又要搞一下ajax+json。
之前一直在微软的C#.NET和ASP.NET下干活,使用ajax也是一些开源的控件,拖过了配一配就完,虽然简单但是也把自己残了。
现在不行了,都得用免费的开源的东西。
闲话少说,下面记录一下SSH2和ajax+json的使用:
时间紧迫,我没有研究原理上的东西,都是照葫芦画瓢。
1. 我使用的是stuct2对json的扩展,需要下载两个包:xwork-core-2.1.6.jar和struts2-json-plugin-2.1.8.jar
2. 使用jquery,需要引入jquery-1.11.2.min.js:
<script type="text/javascript" src="{your path}/jquery-1.11.2.min.js"></script>
这里要注意:SSH2框架中的路径是基于网站根路径的,而不是当前路径,因此上面的{your path}需要是相对于网站根路径的。
3. 编写Action类:
import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.opensymphony.xwork2.ActionSupport;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JsonAction extends ActionSupport { private static final long serialVersionUID = 7443363719737618408L; private List<User> map; public List<User> getMap() {return map;}public void setMap(List<User> map) {this.map = map;}/** * ajax返回结果,也可是其他类型的,这里以String类型为例 */ private String result; @Override public String execute() throws Exception { map = new ArrayList<User>(); map.add(new User("aaa", "p1")); map.add(new User("bbb", "p2")); map.add(new User("ccc", "p3")); System.out.println("======"); System.out.println(name); if("张三".equals(name)) { result = "'{\"result\":\"su\"}'"; } else result = "'{\"result\":\"ff\"}'"; return SUCCESS; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getInch() { return inch; } public void setInch(String inch) { this.inch = inch; } /** * * @Title: getResult * @Description:json调取结果 * @param @return * @return String * @throws */ public String getResult() { return result; }}
result用于返回一段json字符串。
map用于返回一个集合。
4. 配置stuct2文件:
<span style="white-space:pre"></span><package name="ajax" extends="json-default"><action name="JsonAction" class="org.ass.finicallab.util.JsonAction"><result type="json">
<span style="white-space:pre"></span><param name="root">map</param>
<span style="white-space:pre"></span><pre name="code" class="html"><span style="white-space:pre"></span><!-- <param name="root">result</param> -->
<span style="white-space:pre"></span></result></action> <span style="white-space:pre"></span></package>
map是上面action类的map对象。
5. 编写jsp页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!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="Content-Type" content="text/html; charset=UTF-8"><title>测试</title><script type="text/javascript" src="/jquery-1.11.2.min.js"></script><script type="text/javascript"> function clickFunctino() { //alert($("#xm").val()); var params = { name : $("#xm").val(), inch : $("#sg").val() } ; $.ajax({ type: "post", url: "JsonAction.action", data: params, dataType:"json", success: function(json){ alert(json); //var obj = $.parseJSON(json); //使用这个方法解析字符串json result for(var i =0; i<json.length ; i++)//遍历访问map { alert(json[i].username); } //alert("json=" + obj.Username); //var state_value = obj.result; //alert(state_value); }, error: function(json){ alert("json=" + json); return false; } }); }</script></head><body> <span>姓名:</span><input id="xm" type="text"/> <br/> <span>身高:</span><input id="sg" type="text"/> <br/> <input type="button" value="提交" id="tj" onclick ="clickFunctino()"/></body></html>
亲测可以用。
另外据说在线访问jquery-1.11.2.min.js然后另存为的文件不好用,如果遇到jquery不生效的情况,可以直接去http://jquery.com/download/上面下载最新的jquery文件。
0 0
- 初试SSH2中使用ajax和json进行交互
- Spring中使用json和前端ajax交互
- jQuery Ajax前后端使用JSON进行交互
- 使用jquery的ajax进行异步交互(json格式)
- Ajax 使用 json 进行数据交互,实现 级联菜单功能
- struts2中使用json格式ajax与后端action交互
- 关于在SSH2中使用ajax技术的总结(主要写Struts2和ajax)
- Django中使用Ajax进行前后台交互
- 在Struts中使用Ajax初试
- [ssh2]ajax使用
- Ajax: 使用 JSON 进行数据传输
- Ajax:使用 JSON 进行数据传输
- 使用JSON-RPC-Java完成Ajax交互
- 使用JSON-RPC-Java完成Ajax交互
- 使用JSON-RPC-Java完成Ajax交互
- 【SSH (七) 】使用ajax + json 交互
- Spring MVC、Ajax和JSON的交互
- 2.ajax数据交互xml和json
- 导航栏例子
- RT5350(I2S)
- 如何用各种编程语言杀死一条龙
- 【备忘】chrome插件
- golang中os/exec包用法
- 初试SSH2中使用ajax和json进行交互
- OpenStack Neutron LoadBalance源码解析(二)
- 基于RTL819X实现的Router/AP的SDK简介
- Sqlite3数据类型
- RHEL7环境下搭建本地yum源
- Eclipse中使用SVN
- 求助文件完整性比对的方法
- AndroidManifest.XML文件功能、元素、标签汇总
- IOS7&IOS8下cell下划线两端补齐