ajax 传值给java_Ajax+JSON 从后台传值到前台

Jquery 代码:

class="js" name="code">$(".info-box.announcement>ul>li>a").click(attachTitlePopupBehaviour);

});

function attachTitlePopupBehaviour(){

var idAr = $(this).attr('id').split("_");

var annoId =idAr[1];

$.getJSON("${contextPath}/announcementajx/getAnnoById.action",

{announcementId:annoId},

function(j){

$("#annoTitle").text(j.title);

$("#popupAgency").html(j.agency=='WOG'?'System':j.agency);

$("#popupContent").html(j.content);

$("#popupPublishDate").text(j.publishDate);

var docuAr = $.parseJSON(j.documents);//$.parseJSON parse JSON string to js object.

$('#documentBody').html("");

for(var i=0;i

var row="";

if(i==0){

row='

Attach Documents:'+

'

'

+''

+docuAr[i].displayName+'

'+

'

';

}else{

row='

'+

'

'

+''

+docuAr[i].displayName+'

'+

'

';

}

$('#documentBody').append(row);

}

});

$('#announcementDialog').modal({

keyboard: false ,

backdrop: true,

}) ;

}

controller 代码:

@RequestMapping(value="/getAnnoById", method = RequestMethod.GET)

public @ResponseBody String getAnnoById(HttpServletRequest request,@RequestParam("announcementId") String announcementId) throws Exception{

AnnouncementMgrBD annoMgrBD = new AnnouncementMgrBD();

Announcement announcement = annoMgrBD.getAnnouncementByID(Long.parseLong(announcementId));

GsonBuilder gsonBuilder = new GsonBuilder();

Gson gson = gsonBuilder.registerTypeAdapter(announcement.getClass(), new AnnouncementJSONAdaptor()).disableHtmlEscaping().create();

String jsonValue = gson.toJson(announcement);

logger.debug("jsonValue -> Ajax : jsonValue" + jsonValue);

return jsonValue;

}

AnnouncementJSONAdaptor 代码:

public class AnnouncementJSONAdaptor implements JsonSerializer {

@Override

public JsonElement serialize(Announcement announcement, Type typeOfSrc,

JsonSerializationContext context) {

JsonObject caseJson = new JsonObject();

try {

caseJson.addProperty("id", String.valueOf(announcement.getId()));

caseJson.addProperty("publishDate", DateUtil.convertDateToDateString(announcement.getPublishDate()));

AgencyMgrBD agencyMgrBD = new AgencyMgrBD();

Agency agency = agencyMgrBD.getAgencyByID(announcement.getAgencyId().longValue());

caseJson.addProperty("agency", agency.getName());

caseJson.addProperty("title", announcement.getTitle());

caseJson.addProperty("content", announcement.getContent());

AnnoAttachDocumentMgrBD annoAttachDocumentMgrBD = new AnnoAttachDocumentMgrBD();

List annoAttachDocuments = annoAttachDocumentMgrBD.getAnnoAttachDocumentsByAnnoID(announcement.getId());

GsonBuilder gsonBuilder = new GsonBuilder();

Gson gson = gsonBuilder.registerTypeAdapter(annoAttachDocuments.getClass(), new AnnoAttachDocumentArrayJSONAdaptor()).create();

String docuJsonValue = gson.toJson(annoAttachDocuments);

caseJson.addProperty("documents", docuJsonValue);

} catch (ApplicationCoreException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return caseJson;

}

}

AnnoAttachDocumentArrayJSONAdaptor 代码:

public class AnnoAttachDocumentArrayJSONAdaptor implements JsonSerializer> {

@Override

public JsonElement serialize(List annoAttachDocumentList, Type typeOfSrc, JsonSerializationContext context) {

JsonArray jsonArray = new JsonArray();

for(AnnoAttachDocument annoAttachDocument : annoAttachDocumentList){

JsonObject caseJson = new JsonObject();

caseJson.addProperty("id", String.valueOf(annoAttachDocument.getId()));

caseJson.addProperty("displayName", annoAttachDocument.getDisplayName());

jsonArray.add(caseJson);

}

return jsonArray;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值