nutz ajax ie8,Nutz.Json 在Mvc中的用法

Mvc中使用Json

第一种,输出用

@Ok("json:{locked:'password|salt'}")

第二种 输入用的

@AdaptBy(type=JsonAdaptor.class)

@Ok中的json

首先,必须再再再强调一次,如果返回值是String,即您自行生成Json字符串(无论是拼接的还是Json.toJson的还是用fastJson转的)

就别用@Ok("json"),而是用@Ok("raw:json"),否则字符串将再次转义,这样在页面端又得eval一次,而且下面的所有自定义配置统统无效

@Ok("json:xxx") 对应的类是 UTF8JsonView

最精简也是最常见的形式

@Ok("json")

// 等价于

@Ok("json:nice")

内置的模式,一对一对应JsonFormat中的几个快捷方法

/**

* 一般模式 -- 换行,但忽略null值

*/

@Ok("json:nice")

/**

* 全部输出模式 -- 换行,不忽略null值

*/

@Ok("json:full")

/**

* 为了打印出来容易看,把名字去掉引号

*/

@Ok("json:forLook")

/**

* 紧凑模式 -- 无换行,忽略null值

*/

@Ok("json:compact")

/**

* 不换行,不忽略空值

*/

@Ok("json:tidy")

详细配置, 后面的就是JsonFormat的json形式而已,与JsonFormat的属性一一对应

@Ok("json:{ignoreNull:true, locked:'password|salt'}")

// 翻译为Java代码的话

Json.toJson(obj, new JsonFormat().setIgnoreNull(true).setLocked("password|salt"))

示例配置 -- 忽略password和salt属性,且缩进为一个空格

@Ok("json:{indentBy:' ', locked:'password|salt'}")

示例配置2 -- 设置日期格式为yyyyMMdd

@Ok("json:{dateFormat:'yyyyMMdd'}")

AdaptBy的说明

JsonAdaptor 适配器本身并没有什么可以配置的东西

@AdaptBy(type=JsonAdaptor.class)

传输的数据应为POST或PUT,且请求体整个就是一个JSON字符串,而不是表单参数哦

示例代码,页面发送一个User类的json到服务器, 同理可以发送List,Map等等, 然后服务器用json响应

页面端的代码

$.ajax({

url : ${base}/user/update

type : "POST",

data : $.toJSON({ id: 88, name:"wendal", location : "地球" }),

dataType : "json", // 这是服务器响应的数据格式,不是发送内容的格式

success : function (re) {

if (re.ok) {

console.log(re.data.id);

console.log($.toJSON(re.data));

}

}

});

服务器端的入口方法

@AdaptBy(type=JsonAdaptor.class)

@At("/user/update")

@Ok("json:{locked:'password|salt'}")

public Object update(@Param("..")User user) {

NutMap re = new NutMap();

if (user == null || user.getId() < 1) {

re.put("ok", false);

re.put("msg", "null object");

return re;

}

int count = dao.update(user);

if (count != 1) {

re.put("ok", false);

re.put("msg", "no user match");

return re;

}

re.put("data", dao.fetch(User.class, user.getId));

re.put("ok", true);

return re;

}

Chrome控制台将打印

id=88

{

id : 88,

name : "wendal",

location : "地球"

// 其他属性,但没有password和salt出现

}

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计,皆可应用在项目、毕业设计、课程设计、期末/期/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值