个人博客 地址:http://www.wenhaofan.com/article/20180930112646

由于jfinal框架自身没有实现获取多个同一类型的Model的方法,导致获取ModelList的方式很不方便,解决方法很简单,新建BaseController 继承 Controller,在baseController中扩展一个获取ModelList的方法 ,在其他Controller中直接继承BaseController

代码如下

public <T> List<T> getModelList(Class<T> modelClass, String modelName,boolean skipConvertError) {
Pattern p = Pattern.compile(modelName + "\\[\\d+\\].[a-zA-z0-9]+");
Map<String, String[]> parasMap = getRequest().getParameterMap();
String paraKey=null;
String modelName2 = null;
List<T> resultList = new ArrayList<T>();
for (Entry<String, String[]> e : parasMap.entrySet()) {
paraKey = e.getKey();
if (p.matcher(paraKey).find()) {
modelName2 = paraKey.split("\\.")[0];
resultList.add(getModel(modelClass, modelName2, skipConvertError));
}
}
return resultList;
}

接收参数格式为

modelName[0-n].attrName

例如


{

tag[0].name:"tets",

tag[0].sort:1,

tag[1].name:"tets",

tag[1].sort:1,

}

使用

List<Meta> tags=getModelList(Meta.class, "tag");

即可接收到长度为2的List

最新文章

  1. Solr3.6.1 在Tomcat6下的环境搭建
  2. MYSQL数据表建立外键
  3. UITableView代理方知多少+执行顺序
  4. Prince2和PMP的区别,大多数人都没有搞清楚!
  5. [清理页面缓存]asp.net、html
  6. 夺命雷公狗---DEDECMS----21dedecms按照地区取出电影内容
  7. (转)如何把exe的flash还原成swf
  8. Linux之make 、makefile的使用方法
  9. Android bitmap序列化
  10. iis7 下配置MVC问题
  11. GDAL C# 开发环境配置
  12. IntelliJ IDEA(2017.2)安装和破解(转)
  13. datatable处理gridview筛选后的值
  14. java后端学习记录2019
  15. D. GukiZ and Binary Operations(矩阵+二进制)
  16. EL11个内置对象
  17. GitLab代码行数统计--统计增加与删除行数
  18. Next Permutation leetcode java
  19. Knockout官网实例在MVC下的实现-01,实现Hello world
  20. 【statistics】查看2018.4.25日理想论坛某ID在一天中的活跃情况

热门文章

  1. Vue中使用NProgress实现进度条
  2. 使用Ajax时[object%20object] 报错的解决方案
  3. Centos中Redis的下载编译与安装(超详细)
  4. Oracle命令行导入dmp文件
  5. 小程序上拉触底&amp;下拉加载
  6. vue(四)--属性绑定
  7. 【47】迁移学习(Transfer Learning)
  8. 09、const与extern在一起跨文件引用
  9. Java【第二课 扫描仪 &amp; 布尔数据类型】
  10. Python的入门级试用(简明教程)