经验之巧妙的应用Map
后台:
@RequestMapping("/cmci/v_divide_check_add.do")
public String toDivideCheckAdd(HttpServletRequest request,ModelMap model,Long ids,String operId){
List<MsStaticDataDef> status = mssddService.queryStaticDataDefByDddCode(StaticDataDef.CM_ASSESSMENT_TYPE.getCode());
CmCheckCycleDef cycleDef = scService.get().getCcdId();
List<CmCheckCatalogInfo> catalogInfo = ccciService.findByCcdId(cycleDef.getCcdId());
//所有考核类别list
List<MsStaticDataDef> catalog = new ArrayList<MsStaticDataDef>();
for (CmCheckCatalogInfo cmCheckCatalogInfo : catalogInfo) {
catalog.add(cmCheckCatalogInfo.getId().getCatalog());
System.out.println(cmCheckCatalogInfo.getId().getCatalog().getSddId());
}
//已经存在关联(CmMmiCmiCtgRel)
List<CmMmiCmiCtgRel> cccrList = cccrService.getMccrByCcdIdAndMciId(cycleDef.getCcdId(), ids);
if(cccrList!=null && cccrList.size()>0){
Map<String, CmMmiCmiCtgRel> map = new HashMap<String, CmMmiCmiCtgRel>();
for(CmMmiCmiCtgRel cr : cccrList){
System.out.println(cr.getCatalog().getSddId());
map.put(cr.getCatalog().getSddId(), cr);
}
model.addAttribute("map", map);
}
model.addAttribute("catalog", catalog);
model.addAttribute("status", status);
model.addAttribute("cycleDef", cycleDef);
model.addAttribute("ccdId", scService.get().getCcdId().getCcdId());
model.addAttribute("mciId", ids);
model.addAttribute("operId", operId);
return "cm/cmci/divide_check_add";
}
前台:
<@e.form id="jvForm" action="o_divide_check_save.do">
<@e.hidden name="ccdId" value="${ccdId!}" />
<@e.hidden name="mciId" value="${mciId!}" />
<@e.hidden name="operId" value="${operId!}" />
<#list catalog as ca >
<#if map?? &&(map[ca.sddId])?exists && (ca.sddId == map[ca.sddId].catalog.sddId)>
<@e.hidden name="checkMmi" value="${(map[ca.sddId].cmiId.cmiId)!}" id="v_${(ca.sddId)!}"/>
<@e.text label="${(ca.sddName)!}" readonly="readonly" id="n_${(ca.sddId)!}" value="${(map[ca.sddId].cmiId.cmiMechanismName)!}" />
<a onclick="show_cids('v_${(ca.sddId)!}','n_${(ca.sddId)!}','${(ca.sddId)!}')" href="javascript:;" style="left: 525px;margin-top:-33px;position: absolute;">
<img border="0" src="${base}/res/pra/img/find.png">
</a>
<@e.hidden name="checkType" value="${(ca.sddId)!}" />
<@e.hidden name="refId" value="${(map[ca.sddId].mccrId)!}" />
<#else>
<@e.hidden name="checkMmi" value="" id="v_${(ca.sddId)!}"/>
<@e.text label="${(ca.sddName)!}" readonly="readonly" id="n_${(ca.sddId)!}" />
<a onclick="show_cids('v_${(ca.sddId)!}','n_${(ca.sddId)!}','${(ca.sddId)!}')" href="javascript:;" style="left: 525px;margin-top:-33px;position: absolute;">
<img border="0" src="${base}/res/pra/img/find.png">
</a>
<@e.hidden name="checkType" value="${(ca.sddId)!}" />
<@e.hidden name="refId" value="" />
</#if>
</#list>
<@cms_perm url="#" >
<@e.submit value="确认保存"/>
</@cms_perm> <@e.reset code="global.reset"/>
</@e.form>
经验之巧妙的应用Map的更多相关文章
- 编程经验点滴----巧妙解决 Oracle NClob 读写问题
最近一个新项目中,尝试在 Oracle 数据库中使用 NCLOB 来保存大的 xml 字符串. 在代码自动生成工具(通过 JDBC 驱动程序,读数据库表结构,自动生成对应的 java 代码,包含增加. ...
- HDU - 5887:Herbs Gathering (map优化超大背包)
Collecting one's own plants for use as herbal medicines is perhaps one of the most self-empowering t ...
- 深入浅出数据仓库中SQL性能优化之Hive篇
转自:http://www.csdn.net/article/2015-01-13/2823530 一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map,R ...
- Hive任务优化(1)
一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map,Reduce,Spill,Shuffle,Sort等多个阶段,所以针对Hive查询的优化可以大致分为针 ...
- 工厂模式如何返回Spring的Bean
工厂返回的可以是一个具体的对象,比如造一辆车,可以返回一个自行车对象,或者汽车对象. 但是在Spring 中需要工厂返回一个具体的Service,这就是一个抽象工厂了 一种方法是反射,个人觉得这种方式 ...
- hivesql优化的深入解析
转载:https://www.csdn.net/article/2015-01-13/2823530 一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map, ...
- Python 基础:分分钟入门
Python和Pythonic Python是一门计算机语言(这不是废话么),简单易学,上手容易,深入有一定困难.为了逼格,还是给你们堆一些名词吧:动态语言.解释型.网络爬虫.数据处理.机器学习.We ...
- 【论文笔记】Domain Adaptation via Transfer Component Analysis
论文题目:<Domain Adaptation via Transfer Component Analysis> 论文作者:Sinno Jialin Pan, Ivor W. Tsang, ...
- SCI投稿过程总结、投稿状态解析、拒稿后对策及接受后期相关问答
SCI投稿过程总结.投稿状态解析.拒稿后对策及接受后期相关问答 http://muchong.com/t-9174366-1 SCI投稿过程总结.投稿状态解析.拒稿后处理对策及接受后期相关问答综合 ...
随机推荐
- QGraphicsEffect介绍(十分漂亮)
原文链接:Qt 图形特效(Graphics Effect)介绍 QGraphicsEffect也是Qt-4.6引入的一个新功能.它让给图形元素QGraphicsItem增加更佳视觉效果的编程变得非常简 ...
- Android invalidate()自动清屏,屏幕刷新
invalidate()是用来刷新View的,必须是在UI线程中进行工作.比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面.invalidate()的调用是把之前的旧 ...
- 在XML里的XSD和DTD以及standalone的使用2----具体使用详解
如何定义XSD并在XML中使用XSD 同时XSD可以对XML中的格式进行约束,当约束失败时给出提示. 下面以下使用VS2010为平台进行演示. 1.新建一个项目,然后在项目中添加xml架构文件(.xs ...
- [ffmpeg 扩展第三方库编译系列] 关于需要用到cmake 创建 mingw32编译环境问题
我在这里给出我编译的例子 cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=& ...
- 新版本的tlplayer for android ,TigerLeapMC for windows发布了
tlplayer for android 新版本修正了图像倾斜等等问题,增加了动态水印功能. 支持hls(m3u8),http,rtsp,mms,rtmp等网络协议. 声明tlplayer 上的变速不 ...
- 1523. K-inversions(K逆序对)
1523 这题应该说有一些DP的思想吧 dp[i][j]表示以i为结尾第j个数的个数 k单调下降 直接求的话肯定超时 然后用树状数组来进行维护 求k-1次树状数组 #include <iostr ...
- 【转】 C++中如何在一个构造函数中调用另一个构造函数
在C++中,一个类的构造函数没法直接调用另一个构造函数,比如: #ifndef _A_H_ #define _A_H_ #include <stdio.h> #include <ne ...
- iframe的使用小贴士
1.之前又说到“根据内容计算iframe的高度” 链接 2.现在想说的是,一般iframe页面都是嵌套在父页面当中,所以在一般在iframe里面做相关动作时默认都是iframe页面的,不会影响到父页面 ...
- Android学习系列(20)--App数据格式之解析Json
JSON数据格式,在Android中被广泛运用于客户端和网络(或者说服务器)通信,非常有必要系统的了解学习. 恰逢本人最近对json做了一个简单的学习,特此总结一下,以飨各位. 为了文 ...
- WCF SOA --- AJAX 跨域请求处理 CORS for WCF
一.问题 跨域请求无法处理的问题,由于为了阻止恶意的网站通过JS脚本来窃取正常网站受保护的资源.所由所有的浏览器的默认策略是阻止XmlHttpRequest的跨域的异步请求. 但是对于一 ...