ExtJS6.0怎样获取绑定后台传过来的json数据

ExtJS6.0怎样获取绑定后台传过来的json数据,第1张

checkBoxPanel 中增加事件监听,在处理函数是用ajax调用后台action,

ExtAjaxrequest({

//code,

success:function(response){

var data = Extdecode(responseresponseText);//这样能取到值,如果是list的话传过来转化后应该是数组了。里面再是对象。最后再给checkBoxPanel赋值

}

});

后台解析前端传来的json数据格式听简单的#

比如客户端传来的参数格式url

从最外边可以知道我们传给的最外面的参数是data所以后台接收到的也只是data的参数

所以我们现在需要做的就是解析传给后台的json数据格式

代码如下:

// 谷歌产生json对象的工具

Gson json = new Gson();

// 产生 P{} 里面参数接收对象

Param p = new Param(); Param对象里的属性是pageNum,type,sessionKey(注意的是该对象指的是p,对象里面的属性也必须和客户端中json数据格式中的字段名称一致)

//需要将客户端传来的json数据转换成什么对象

p = jsonfromJson(data, Paramclass); data为最外层的json数据对象

获取对象中的参数的值

pgetType();就能获取到客户端传来的参数的值了###

很简单的 API一看就明白了###

最外层当然为

gsonjar包

public class Base {

private String m;

private String c;

public String getM() {

return m;

}

public void setM(String m) {

thism = m;

}

public String getC() {

return c;

}

public void setC(String c) {

thisc = c;

}

对象中的对象

package comismartinfoilifeapientitiesparameter;

public class Param extends Base{

private ParamValue p; 

public ParamValue getP() {

return p;

}

public void setP(ParamValue p) {

thisp = p;

}

}

package comismartinfoilifeapientitiesparameter;

public class ParamValue { 

private int pageNum;

private int type; 

private int groupInfoId;

private int groupInfoReplyId;

private String sessionKey; 

private int groupTitle;

private String groupContent;

private String phone;

private int buttonType;

private int replayId;

private int disclosure;  

public int getPageNum() {

return pageNum;

}

public void setPageNum(int pageNum) {

thispageNum = pageNum;

public String getSessionKey() {

return sessionKey;

}

public void setSessionKey(String sessionKey) {

thissessionKey = sessionKey;

}

public int getType() {

return type;

}

public void setType(int type) {

thistype = type;

}

public int getGroupInfoId() {

return groupInfoId;

}

public void setGroupInfoId(int groupInfoId) {

thisgroupInfoId = groupInfoId;

}

public int getGroupInfoReplyId() {

return groupInfoReplyId;

}

public void setGroupInfoReplyId(int groupInfoReplyId) {

thisgroupInfoReplyId = groupInfoReplyId;

}

public int getGroupTitle() {

return groupTitle;

}

public void setGroupTitle(int groupTitle) {

thisgroupTitle = groupTitle;

}

public String getGroupContent() {

return groupContent;

}

public void setGroupContent(String groupContent) {

thisgroupContent = groupContent;

}

public String getPhone() {

return phone;

}

public void setPhone(String phone) {

thisphone = phone;

}

public int getButtonType() {

return buttonType;

}

public void setButtonType(int buttonType) {

thisbuttonType = buttonType;

}

public int getReplayId() {

return replayId;

}

public void setReplayId(int replayId) {

thisreplayId = replayId;

}

public int getDisclosure() {

return disclosure;

}

public void setDisclosure(int disclosure) {

thisdisclosure = disclosure;

}  

}

你可能有点搞混了。

你的dataType:html,的话是无法接收后台传的json串的。

由于你后台return "wanglongtesthtml",所以前台ajax接收是一个

html对象,则前台可以按如下代码处理:

success: function(rs){

$("#testDiv")html(rs);

}

html:

<!-- ajax 要填充的内容 -->

<div id="testDiv">

</div>

------------------------------------

如果你想接收后台的类型为json,那么后台servlet方法中只需要return null;

完整代码见如下:

responsesetHeader("pragma", "no-cache");

responsesetHeader("cache-control", "no-cache");

//设置响应格式和字符集(与前端页面一致,否则会有乱码问题)

responsesetContentType("text/html;charset=GBK");

PrintWriter out = responsegetWriter();

Map model = new HashMap();

modelput("zhangsan",true);

JSONObject json = new JSONObject(model); //将一个map对象实例化成一个json对象

outwrite(jsontoString());

outflush();

outclose();

return null;

前台js:

$ajax({

type: "POST",

url: "请求地址",

dataType: "json", //指定请求的数据类型

data:"type=1", //传到后台的参数,后台可以通过requestgetParameter("type")获取

success:function(rs){

alert(rszhangsan); //我这里以d出框的方式显示zhangsan对应的value

//也可以为html中的标签赋值

$("#testAjax")val(rszhangsan);

}

},"json")

});

html:

<input id="testAjax" type="text" value="" />

其实楼上的同学们已经大概说清了如何处理,我这里只是帮你进一步理清dataType:html和dataType:json的具体处理方式,如有疑问可留言。

    <script type="text/javascript">

        var result =

    <%=sessiongetAttribute("result")%>

        ;

        consolelog(result);

    </script>

以上就是关于ExtJS6.0怎样获取绑定后台传过来的json数据全部的内容,包括:ExtJS6.0怎样获取绑定后台传过来的json数据、后台怎么接收处理从url 客户端传来的json数、html如何接收java后台传递来的字符串或者json串,我有后台的图片,请看看图片帮忙写一个html前台。谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9830856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存