NutzCN Logo
问答 Nutz中前台参数如何定义才能将参数转换成List对象
发布于 2920天前 作者 generalthink 1811 次浏览 复制 上一个帖子 下一个帖子
标签:

我想讲前台的参数转换成为List对象,我的代码如下:
方法声明

 @Ok("forward:/scene/showScenePage")
    @At("/dealCollisionAttackScene")
    @AdaptBy(type=JsonAdaptor.class)
    public void dealCollisionAttackScene(HttpServletRequest request, Ioc ioc, @Param("::infoList")
    List<CollisionAttackSceneInfo> infoList,) 
public class CollisionAttackSceneInfo {

  private String businessSystemName;
  private Integer intervalMinute;// 间隔时间
  private Integer frequency;// 频次
//忽略get,set

那么前台表单的参数应该如何定义呢?我这样试过,但是仍然不行

var data = {infoList:
	    		[
	    			 {
			    		businessSystemName:'bugzilla',
			    		intervalMinute:5,
			    		frequency:400
			    	},
			    	{
			    		businessSystemName:'bugzilla',
			    		intervalMinute:5,
			    		frequency:400
			    	}
		    	]
    	};
    	
    	$.ajax({
    		   type: "POST",
    		   url: "<c:url value='/scene/dealCollisionAttackScene?sceneType=${sceneType}'/>",
    		   data: data,
    		   success: function(msg){
    		     alert( "Data Saved: " + msg );
    		   }
    		});
    }

但是直接报错,请问我前台的参数应该这样传递后台才能解析成为List对象或者CollisionAttackSceneInfo[]对象

3 回复

页面:

     <form action="${base}/demo/param/list" method="post" enctype="application/x-www-form-urlencoded">
		
		<input name="user[0].name" value="ABC_Name_0"></br>
		<input name="user[0].id" value="0"></br>
		
		<input name="user[1].name" value="ABC_Name_1"></br>
		<input name="user[1].id" value="1"></br>
		
		<input name="user[2].name" value="ABC_Name_2"></br>
		<input name="user[2].id" value="2"></br>
		
		<input name="user[4].name" value="ABC_Name_4"></br>
		<input name="user[4].id" value="4"></br>
		
		<input name="user[3].name" value="ABC_Name_3"></br>
		<input name="user[3].id" value="3"></br>

		<input name="user[3].roles[0].name" value="ABC_ROLE_3"></br>
		<input name="user[3].roles[0].id" value="303"></br>
		
		<input type="submit">
	</form>

入口方法

    @At("/param/list")
    @Ok("json:forlook")
    public Object paramList(@Param("::user")List<User> users) {
        return users;
    }

$.ajax是不会自动把list转为json字符串的

https://nutz.cn/yvr/t/s08tbk5k5mi2loj1d0osp3dgce

@wendal 已经解决,非常感激,结帖!

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