NutzCN Logo
问答 nutz 的 mvc 不支持 集合类型的参数吗
发布于 2207天前 作者 qq_0fd8441b 1401 次浏览 复制 上一个帖子 下一个帖子
标签:

@At("/infos")
public List infos(long roomId, List userIds) 这种写法,userIds无法正常转换为List。被错误的转换为["[123,123]"]这种格式

8 回复

ajax提交的参数 为roomId:123466,userIds:"[123,456]",其实userIds是一个json字符串,在server端接收参数时,我想直接将"[123,456]"反序列为List的入参,但是发现转换错误。其原因是NameInjector的fromReqParam方法
public Object fromReqParam(HttpServletRequest req) {
String[] params = req.getParameterValues(name);
// 不为 null,那么必然要转换成日期
if (null != dfmt && params != null && params.length > 0) {
Object o = Times.parseq(dfmt, params[0]);
return Castors.me().castTo(o, type);
}
// 默认用转换器转换
return Castors.me().castTo(params, type); 这里为什么不使用params[0]
}

不知道有没有可以解决的方法,把userIds定义为String除外

不得行,已经试过了

话说,全部数据用json提交更好啦

{roomId:123466,userIds:[123,456]}
 

整体转json后提交,后端用json适配器接收

// 默认用转换器转换
return Castors.me().castTo(params, type); 这里为什么不使用params[0] ,是有什么特殊的考虑吗

也许是没考虑到吧,可以报个issue哦

添加回复
请先登陆
回到顶部