Skip to content

Commit

Permalink
fxied #1109
Browse files Browse the repository at this point in the history
Signed-off-by: wendal chen <wendal1985@gmail.com>
  • Loading branch information
wendal committed Aug 4, 2016
1 parent cfc14bc commit 975b4d5
Show file tree
Hide file tree
Showing 3 changed files with 194 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/org/nutz/mvc/adaptor/injector/ObjectNaviNode.java
@@ -1,6 +1,7 @@
package org.nutz.mvc.adaptor.injector;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -169,9 +170,15 @@ public Object get(){
return value == null ? null : value.length == 1 ? value[0] : value;
}
if(type == TYPE_LIST){
// fix issue #1109, 列表的key需要重排
List list = new ArrayList();
for(String o : child.keySet()){
list.add(child.get(o).get());
List<Integer> keys = new ArrayList<Integer>();
for (String key : child.keySet()) {
keys.add(Integer.parseInt(key));
}
Collections.sort(keys);
for(Integer index : keys){
list.add(child.get(index.toString()).get());
}
return list;
}
Expand Down
Expand Up @@ -13,6 +13,7 @@
import org.nutz.lang.Lang;
import org.nutz.lang.Streams;
import org.nutz.mvc.adaptor.JsonAdaptor;
import org.nutz.mvc.adaptor.PairAdaptor;
import org.nutz.mvc.adaptor.meta.Pet;
import org.nutz.mvc.annotation.AdaptBy;
import org.nutz.mvc.annotation.At;
Expand All @@ -23,6 +24,7 @@
import org.nutz.mvc.impl.AdaptorErrorContext;
import org.nutz.mvc.testapp.BaseWebappTest;
import org.nutz.mvc.testapp.classes.bean.Issue1069;
import org.nutz.mvc.testapp.classes.bean.Issue1109;

import junit.framework.TestCase;

Expand Down Expand Up @@ -122,4 +124,11 @@ public Object test_param_without_param(String uid, String[] uids, HttpServletReq
public Object test_issue1069(@Param("..")Issue1069 issue1069) {
return issue1069.getShowAdd();
}

@At("/issue1109")
@Ok("json")
@AdaptBy(type=PairAdaptor.class)
public Object issue1109(@Param("::issue")List<Issue1109> pojos) {
return pojos;
}
}
176 changes: 176 additions & 0 deletions test/org/nutz/mvc/testapp/classes/bean/Issue1109.java
@@ -0,0 +1,176 @@
package org.nutz.mvc.testapp.classes.bean;

import org.nutz.dao.entity.annotation.ColDefine;
import org.nutz.dao.entity.annotation.ColType;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Comment;
import org.nutz.dao.entity.annotation.EL;
import org.nutz.dao.entity.annotation.Name;
import org.nutz.dao.entity.annotation.Prev;

public class Issue1109 {
private String id;
private String goodsPicMain;
private String marketingNum;
private String goodsName;
// private String goodsId;
// private String goodsUrl;
// private String couponUrl;
// @Column
// @Comment("渠道")
// @ColDefine(type = ColType.VARCHAR, width = 100)
// private String channel;
// @Column
// @Comment("业务员")
// @ColDefine(type = ColType.VARCHAR, width = 100)
// private String salesman;
// @Column
// @Comment("ffffff")
// @ColDefine(type = ColType.VARCHAR, width = 100)
// private String ffffff;
//
// @Column
// @Comment("eeeee")
// @ColDefine(type = ColType.VARCHAR, width = 100)
// private String eeeee;
//
// @Column
// @Comment("ddddd")
// @ColDefine(type = ColType.VARCHAR, width = 100)
// private String ddddd;
//
// @Column
// @Comment("ccccc")
// @ColDefine(type = ColType.VARCHAR, width = 100)
// private String ccccc;
//
// @Column
// @Comment("bbbbb")
// @ColDefine(type = ColType.VARCHAR, width = 100)
// private String bbbbb;
//
// @Column
// @Comment("aaaaaa")
// @ColDefine(type = ColType.VARCHAR, width = 100)
// private String aaaaaa;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getGoodsPicMain() {
return goodsPicMain;
}

public void setGoodsPicMain(String goodsPicMain) {
this.goodsPicMain = goodsPicMain;
}

public String getMarketingNum() {
return marketingNum;
}

public void setMarketingNum(String marketingNum) {
this.marketingNum = marketingNum;
}

public String getGoodsName() {
return goodsName;
}

public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}

// public String getGoodsId() {
// return goodsId;
// }
//
// public void setGoodsId(String goodsId) {
// this.goodsId = goodsId;
// }
//
// public String getGoodsUrl() {
// return goodsUrl;
// }
//
// public void setGoodsUrl(String goodsUrl) {
// this.goodsUrl = goodsUrl;
// }
//
// public String getCouponUrl() {
// return couponUrl;
// }
//
// public void setCouponUrl(String couponUrl) {
// this.couponUrl = couponUrl;
// }

// public String getChannel() {
// return channel;
// }
//
// public void setChannel(String channel) {
// this.channel = channel;
// }
//
// public String getSalesman() {
// return salesman;
// }
//
// public void setSalesman(String salesman) {
// this.salesman = salesman;
// }
//
// public String getFfffff() {
// return ffffff;
// }
//
// public void setFfffff(String ffffff) {
// this.ffffff = ffffff;
// }
//
// public String getEeeee() {
// return eeeee;
// }
//
// public void setEeeee(String eeeee) {
// this.eeeee = eeeee;
// }
//
// public String getDdddd() {
// return ddddd;
// }
//
// public void setDdddd(String ddddd) {
// this.ddddd = ddddd;
// }
//
// public String getCcccc() {
// return ccccc;
// }
//
// public void setCcccc(String ccccc) {
// this.ccccc = ccccc;
// }
//
// public String getBbbbb() {
// return bbbbb;
// }
//
// public void setBbbbb(String bbbbb) {
// this.bbbbb = bbbbb;
// }
//
// public String getAaaaaa() {
// return aaaaaa;
// }
//
// public void setAaaaaa(String aaaaaa) {
// this.aaaaaa = aaaaaa;
// }
}

0 comments on commit 975b4d5

Please sign in to comment.