JAVA中使用AJAX需要引入什么吗????

lylshr 2011-01-25 08:52:28
目前我是在用EXT功能表单,需要再页面上获取后台JSON传来的数据,可能会用到AJAX的数据。但是好像在JSP中使用AJAX需要加入什么框架是吧,谁能给个解释啊???
...全文
13474 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑石课堂 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 swoky 的回复:]
如需要阅读该回复,请登录或注册CSDN!
[/Quote]fd
shengfq 2011-02-15
  • 打赏
  • 举报
回复
我用的就是 jquery + json 实现异步交互。
前台就不要说了,jquery的ajax应用语法+json格式数据例如:{name:"aa",pwd:"aa"} json格式数据要你去专研,否则你组织不好待提交数据,后台解析不到。

后台解析jquery传递过来的json格式数据需要 java代码解析,这时,你需要下载第三方类库
json-lib-2.3-jdk15.jar

在后台解析时:

public ActionForward insertPlan(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setCharacterEncoding("UTF-8");
List detailList = null;// 接收强制转换后jsonArray的数据
JSONObject JOProMain = null;// 接收json对象中方案对象
JSONArray JADetailList = null;// 接收json对象的定时项对象数组
UwkTmMain WktmMainItem = null;// 接收强制转换后的方案对象
String line = null;
JSONObject JOString = null;
Object objMainFromJSONString = null;
Object objListFromJSONString = null;
int result = 0;
try {
// 创建读取字符流对象BufferReader
BufferedReader br = new BufferedReader(new InputStreamReader(
(ServletInputStream) request.getInputStream()));
StringBuilder sb = new StringBuilder();
// 将字符流保存到内存中StringBuilder
while ((line = br.readLine()) != null) {
sb.append(line);
}
String JsonString = sb.toString();
System.out.println(JsonString);
JsonString = URLDecoder.decode(JsonString, "UTF-8");// 因为json无法传输中文,于是采用js变换字符编码格式java解析该格式,解码为utf-8
JOString = JSONObject.fromObject(JsonString);// 根据json字符串创建json对象
objMainFromJSONString = JOString.get("proMain");// 从json对象中分离对象,注意并不一定是自己预计的类型
objListFromJSONString = JOString.get("detailList");// object类型
if (objMainFromJSONString != null) {
JOProMain = (JSONObject) objMainFromJSONString;
WktmMainItem = (UwkTmMain) JSONObject.toBean(JOProMain,
UwkTmMain.class);
}
if (objListFromJSONString != null) {
JADetailList = (JSONArray) objListFromJSONString;
detailList = new ArrayList();
for (int i = 0; i < JADetailList.size(); i++) {
UwkTmDetail detail = new UwkTmDetail();
JSONObject jsonItem = JADetailList.getJSONObject(i);
UwkTmDetailId detailItem = (UwkTmDetailId) JSONObject
.toBean(jsonItem, UwkTmDetailId.class);
detail.setId(detailItem);
detailList.add(detail);
}
result = wktmService.addTmrMainAndDetail(WktmMainItem,
detailList);
}
} catch (JSONException e) {
e.printStackTrace();
}
if (result > 0) {
this.printText(response, "yes");
} else {
this.printText(response, "no");
}
return null;
}





要用到的JSON类库:

import net.sf.json.JSONArray;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;


然后就是组织数据返回到客户端:

public ActionForward wktmMainList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException {
List wktmMainList = this.wktmService.findAllWkTmMainList();
String switchftmr = this.wktmService.findTmrFromSysParam();
Map m = new HashMap();
m.put("wktmMainList", wktmMainList);
m.put("switchftmr", switchftmr);
this.printJson(response, m);
return null;
}

// 封装输出json
protected void printJson(HttpServletResponse response, Object m)
throws IOException {
response.setContentType("application/x-json; charset=UTF-8");
PrintWriter out = response.getWriter();
JSONObject jo = JSONObject.fromObject(m);// 转化Map对象
out.print(jo);
out.flush();
}

tfish2014 2011-02-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zn85600301 的回复:]
引用 3 楼 lylshr 的回复:

引用 1 楼 swoky 的回复:
啥都不用加,response输出就可以了




怎么写啊大哥教一下说清楚点啊。。。。。

AJAX 是前台的异步请求和后台没关系
就是一段JS 具体你在网上找个例子看看就行了
先别用框架 自己试试
[/Quote]

虽然是好心,不过我觉得这是成熟程序员的做法,初级程序员,会用就行,估计他最想看到的是能用的现成代码http://blog.csdn.net/the_fire/archive/2011/01/22/6158003.aspx
  • 打赏
  • 举报
回复
框架是可以使用引用的,楼上很多位都说过了使用JQuery就行。等你成了高手了,自己写框架就行了。
the_fire 2011-02-15
  • 打赏
  • 举报
回复
开发无难事 2011-02-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 youjianbo_han_87 的回复:]
自己写也行,现在基本所有的 js 框架,如 jquery,extjs等都内置了ajax支持。这个简单点。

也可以使用 Dwr,这个反而没有js框架方便。
[/Quote]
如果你没有用java UI框架,那劝你还是用Dwr,如果只为了实现一个异步请求就导入js框架,那就太不值了
a_aaaa 2011-02-15
  • 打赏
  • 举报
回复
不是必须引入什么东西,
但引入ajax的包用起来比较方便
fendou5016 2011-02-15
  • 打赏
  • 举报
回复
Ajax只是一个js的 不用导啥包的 不过你用一些Ajax框架就需要
清晨v 2011-02-15
  • 打赏
  • 举报
回复
如果用框架就引入框架的js文件,没用就什么都不用加!
linshenxiu 2011-02-15
  • 打赏
  • 举报
回复
什么都不需要,用DWR框架、JQuery等可以简化书写。
zgm850401 2011-02-15
  • 打赏
  • 举报
回复
引用jquery框架 写ajax操作
gougou851129 2011-02-14
  • 打赏
  • 举报
回复
浏览器支持xmlhttprequest就行了 什么都不用加
wangzhuoyan 2011-01-27
  • 打赏
  • 举报
回复
ajax 客户端和服务器java没什么联系,仅仅是交互而已
yangchaoy333 2011-01-27
  • 打赏
  • 举报
回复
json包,格式化为json对象。
qingliang_hu 2011-01-27
  • 打赏
  • 举报
回复
用dwr,百度百科里有详细说明!很好用的
gonglil 2011-01-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xlxin 的回复:]

下载个jquery 的.js文件,然后引入到你的页面
然后写个js函数:
$.ajax({
type: "POST",
url: url,
data:{'id':'ids'},
success: function(d){
return;
}
});
data:传参数
url:访问路径
dataType:返回数据类型如:dataType:'json'
d:返回的数据
[/Quote]
+1
mopishv0 2011-01-27
  • 打赏
  • 举报
回复
http://www.webjx.com/special/20090215/9625.html
朱超ZhuChao.Tech 2011-01-27
  • 打赏
  • 举报
回复
直接手写不要用什么框架,容易冲突,比如DWR 和JQUERY 一起使用就会有。
再说AJAX就那段代码又不难,做过1次接下来就是拷贝 粘贴了。
leihuanhuan123 2011-01-27
  • 打赏
  • 举报
回复
可以引用jquery框架 写ajax操作
yelangking 2011-01-27
  • 打赏
  • 举报
回复
支持6楼的说法,这得看楼主具体想采用什么ajax框架,如果是自己开发的话,可以到晚上下载一个关于ajax的,如果是应用jquery或者dwr等框架的话只要到网上下载相应的js文件,然后导入就可以了
加载更多回复(12)

81,123

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧