java json传到页面_将数据以json字符串格式传到前台请求页面

本文档介绍了如何从Java后端将数据以JSON格式发送到前端页面。使用Ajax进行异步请求,通过jQuery的$.ajax方法获取数据,并在后台Action中处理请求,将数据转化为JSON对象并响应给前端。
摘要由CSDN通过智能技术生成

1.前台ajax方法(这个是在FlowDocAction的add.jsp页面)

//序列号

var preFileNo = factoryCode+deptCode+"-"+modelSeriesCode+"-"+workProcessCode;

var yz=$.ajax({

type:'get',

url:'FlowDocVersion!getSort.shtml?preFileNo='+preFileNo,

cache:false,

dataType:'json',

success:function(data){

if(data){

//将json字符串转换为json对象,因为要通过点的方法来拿它的属性  eval('('+str+')');

var obj = eval('(' +data+ ')');

alert(obj.preFileNo);

}

},

error:function(data){

alert("出错了");

}

});

2.后台页面:因为此处是ssh的action,方法返回String类型默认去找对应页面,而请求的页面是另一个action的result对应的页面,所以此处的

(这里是在FlowDocVersinoAction.java类里)

//文件编码

public String getSort() throws Exception {

try {

//查询所有类似的文件

String sql="select FileNo from FlowDocVersion where Status <>0 and FileNo like '"+preFileNo+"%'";

System.out.println("getSort.sql:"+sql);

List fileNoList = new FlowDocVersionFacade().find(sql,"FlowDocVersion.FileNo");

int max = 0 ;

if(fileNoList.size()==0){//没有与当前新增文件编码相同的文件编码

preFileNo = preFileNo+"01";

//将数据以json字符串形式响应到请求页面start

HttpServletResponse response=ServletActionContext.getResponse();

response.setContentType("text/html");

PrintWriter out;

out = response.getWriter();

//将要被返回到客户端的对象

JSONObject json=new JSONObject();

json.accumulate("preFileNo", preFileNo);

out.println(json.toString());

out.flush();

out.close();

//将数据以json字符串形式传到请求页面end

System.out.println(preFileNo);

return "";

}else {

for(FlowDocVersion e:fileNoList){

//拿到文件编码后边的序号

String sort = e.getFileNo().substring(preFileNo.length(), e.getFileNo().length());

if(sort.length()>0){

//解决 NumberFormatException

//把最大序号赋给max

try{

int i = Integer.valueOf(sort);

if(max

max = i;

}

}catch (NumberFormatException ep) {

preFileNo = preFileNo+"01";

System.out.println(preFileNo);

}

}

}

max=max+1;//最大序号+1作为新增文件的序号

if(max<10){//小于10个位用0填补

preFileNo = preFileNo+"0"+max;

}else{

preFileNo = preFileNo+max;

}

}

return null;

}catch(Exception e) {

this.setMsg("生成文档编码出错");

Logger.getLogger(this.getClass()).error("FlowDocVersionAction getSort() Exception", e);

return ERROR;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值