jquery调用struts2,返回script/text/json格式的数据
2011-10-26 09:32
639 查看
本文在ajax中调用struts2 action ,查询数据库,然后返回字符串,演示返回script,text,json类型的数据的用法
一。返回script和text时代码都一样
Java代码
ajax-jquery.js
function commonAjax(oper,prod,url){
oper.bind("change",function(){comJquery(oper,prod,url)});
prod.bind("change",function(){comJquery(oper,prod,url)});
}
function comJquery(oper,prod,url){
var prodId=prod.val();
if(oper.val()!=''&&prod.val()!=''&&prod.val()!=0&&prod.val()!=-1){
jQuery.ajax({
url : url,
data : {productId : prodId},
type : "post",
cache : false,
dataType : "script"或者"text",
success:callback
});
}else{
$("#company").html('');
}
}
function callback(data){
$("#company").html(data);
}
jsp页面调用ajax js(不管返回什么类型,调用的代码都一样)
<script type="text/javascript" src="script/jquery.js"></script>
<script type="text/javascript" src="script/json2.js"></script>
<script type="text/javascript" src="script/ajax-jquery.js"></script>
var op=$("#cbApplySubmit_changeApplyFormBO_operationId");
var pr=$("#cbApplySubmit_changeApplyFormBO_productId");
var url="${contextPath}/assets/businessChange/ajaxGetCompany.do";
commonAjax(op,pr,url);
struts2 action
private Integer productId;
private IProductMng productMng; // 通过spring注入的service
// get set
public void ajaxGetCompany() throws Exception {
ProductBO prod = productMng.loadProduct(productId);
Integer companyId = prod.getCompanyId();
CompanyBO comp = productMng.loadCompany(companyId);
String message = "事业部为:" + comp.getName();
sendMsg(message);
}
public void sendMsg(String content) throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(content);
}
二。返回json格式
Java代码
function commonAjax(oper,prod,url){
oper.bind("change",function(){comJquery(oper,prod,url)});
prod.bind("change",function(){comJquery(oper,prod,url)});
}
function comJquery(oper,prod,url){
var prodId=prod.val();
if(oper.val()!=''&&prod.val()!=''&&prod.val()!=0&&prod.val()!=-1){
jQuery.ajax({
url : url,
data : {productId : prodId},
type : "post",
cache : false,
dataType : "json",
success:callback
});
}else{
$("#company").html('');
}
}
function callback(data){
$("#company").html(data[0].msg); // 因为json对象中只有一个值
// 完整写法如下
//function callback(data){
// var buf="";
// for(var i=0;i<data.length;i++){
// buf+=data[i].msg;
// }
// $("#company").html(buf);
//}
}
struts2 action 需要组装json对象
import net.sf.json.JSONArray;
public void ajaxGetCompany() throws Exception {
ProductBO prod = productMng.loadProduct(productId);
Integer companyId = prod.getCompanyId();
CompanyBO comp = productMng.loadCompany(companyId);
String message = "事业部为:" + comp.getName();
JSONArray jsonObj = JSONArray.fromObject("[{msg:'" + message +"'}]");
sendMsg(jsonObj.toString());
}
public void sendMsg(String content) throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(content);
}
json-lib-2.2.3-jdk15.jar (145
KB)
ezmorph-1.0.6.jar (84.5
KB)
jquery.js.rar (28.4
KB)
json2.js.rar (5.2
KB)
ajax-jquery.js.rar (441
Bytes)
一。返回script和text时代码都一样
Java代码
ajax-jquery.js
function commonAjax(oper,prod,url){
oper.bind("change",function(){comJquery(oper,prod,url)});
prod.bind("change",function(){comJquery(oper,prod,url)});
}
function comJquery(oper,prod,url){
var prodId=prod.val();
if(oper.val()!=''&&prod.val()!=''&&prod.val()!=0&&prod.val()!=-1){
jQuery.ajax({
url : url,
data : {productId : prodId},
type : "post",
cache : false,
dataType : "script"或者"text",
success:callback
});
}else{
$("#company").html('');
}
}
function callback(data){
$("#company").html(data);
}
jsp页面调用ajax js(不管返回什么类型,调用的代码都一样)
<script type="text/javascript" src="script/jquery.js"></script>
<script type="text/javascript" src="script/json2.js"></script>
<script type="text/javascript" src="script/ajax-jquery.js"></script>
var op=$("#cbApplySubmit_changeApplyFormBO_operationId");
var pr=$("#cbApplySubmit_changeApplyFormBO_productId");
var url="${contextPath}/assets/businessChange/ajaxGetCompany.do";
commonAjax(op,pr,url);
struts2 action
private Integer productId;
private IProductMng productMng; // 通过spring注入的service
// get set
public void ajaxGetCompany() throws Exception {
ProductBO prod = productMng.loadProduct(productId);
Integer companyId = prod.getCompanyId();
CompanyBO comp = productMng.loadCompany(companyId);
String message = "事业部为:" + comp.getName();
sendMsg(message);
}
public void sendMsg(String content) throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(content);
}
二。返回json格式
Java代码
function commonAjax(oper,prod,url){
oper.bind("change",function(){comJquery(oper,prod,url)});
prod.bind("change",function(){comJquery(oper,prod,url)});
}
function comJquery(oper,prod,url){
var prodId=prod.val();
if(oper.val()!=''&&prod.val()!=''&&prod.val()!=0&&prod.val()!=-1){
jQuery.ajax({
url : url,
data : {productId : prodId},
type : "post",
cache : false,
dataType : "json",
success:callback
});
}else{
$("#company").html('');
}
}
function callback(data){
$("#company").html(data[0].msg); // 因为json对象中只有一个值
// 完整写法如下
//function callback(data){
// var buf="";
// for(var i=0;i<data.length;i++){
// buf+=data[i].msg;
// }
// $("#company").html(buf);
//}
}
struts2 action 需要组装json对象
import net.sf.json.JSONArray;
public void ajaxGetCompany() throws Exception {
ProductBO prod = productMng.loadProduct(productId);
Integer companyId = prod.getCompanyId();
CompanyBO comp = productMng.loadCompany(companyId);
String message = "事业部为:" + comp.getName();
JSONArray jsonObj = JSONArray.fromObject("[{msg:'" + message +"'}]");
sendMsg(jsonObj.toString());
}
public void sendMsg(String content) throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(content);
}
json-lib-2.2.3-jdk15.jar (145
KB)
ezmorph-1.0.6.jar (84.5
KB)
jquery.js.rar (28.4
KB)
json2.js.rar (5.2
KB)
ajax-jquery.js.rar (441
Bytes)
相关文章推荐
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- struts2 + ajax(从后台获取json格式的数据返回到前端,然后前端用jquery对json数据进行解析)
- Jquery跨域调用struts2的Action返回json数据易出现的问题
- Jquery跨域调用struts2的Action返回json数据易出现的问题
- jquery里面调用getjson方法,将list类型转换为json格式数据,在页面迭代显示
- 整合struts2,jquery,json。采用jquery ajax,从struts2 action返回json类型数据
- json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)
- jQuery调用WebService返回JSON数据及参数设置注意问题
- 关于jQuery获取Action返回的JSON数据 项目真实案例 记录(Struts2)
- 使用jQuery发送POST,Ajax请求返回JSON格式数据
- Jquery Easy UI 中的datagrid通过url调用webservice返回json数据
- 关于jQuery获取Action返回的JSON数据 项目真实案例 记录(Struts2)
- JQuery获取并解析php返回的json格式数据的简单示例
- jquery调用基于.NET Framework 3.5的WebService返回JSON数据
- struts2、servlet中返回json数据格式
- Jquery 将后台返回的字符串转换成Json格式的数据
- struts2的action中返回json格式的数据
- struts2返回json格式数据
- struts2 从action中返回json格式数据: