javaweb前端数据封装(springmvc)

actionController

param.put("measure_month_rule", reportService

.searchMeasureMonthRuleList(param));

return new ModelAndView(this.getMeasureMonthUrl(), param);

 

serviceImpl

// 数据库查询的数据

List measureMonth = reportDao.searchMeasureMonthRule(param);

 

// 页面需要展示的数据(数据进行分装)

List viewdataList = new ArrayList();

 

// 存放合并后指标值的Map

 

// 行转列将从数据库查询出一个指标多个月份多条值的记录合并为一条记录

for (int i = 0; i < measureMonth.size(); i++) {

LinkedHashMap measureMonthMap = new LinkedHashMap();

HashMap tempLinkedMap = (HashMap) measureMonth.get(i);

measureMonthMap.put(tempLinkedMap.get("WARNLIGHT") + ":",

tempLinkedMap.get("MEASUREMONTHRULE"));

viewdataList.add(measureMonthMap);

}

 

daoImpl

public List<Map<String, Object>> searchMeasureMonthRule(Map param)

throws DaoException {

// fmt参数是数据显示格式样式

param.put("fmt", "([[:digit:]]+)[.]$");

return baseSupport.getList("searchMeasureMonthRule", param);

}

(param是参数map集合)


ibatis  的sql

 

Id = searchMeasureMonthRule  找到SQL   执行SQL

 

<!-- 规则说明SQL语句 -->

 

<select id="searchMeasureMonthRule" resultClass="java.util.HashMap">

 

<![CDATA[

 

SELECT CASE

 

               WHEN P1.WARNLIGHT = '1' THEN

 

                '绿灯'

 

               WHEN P1.WARNLIGHT = '2' THEN

 

                '黄灯'

 

               WHEN P1.WARNLIGHT = '3' THEN

 

                '红灯'

 

              END WARNLIGHT,

 

             REGEXP_REPLACE(TO_CHAR(P1.LEFTVALUE,

 

                                    'fm999999999999999990.999999'),

 

                           #fmt#,

 

                            '\1') || P2.CODENAME ||

 

             REGEXP_REPLACE(TO_CHAR(P1.RIGHTVALUE,

 

                                    'fm999999999999999990.999999'),

 

                            #fmt#,

 

                            '\1') MEASUREMONTHRULE,

 

             

 

              P1.WARNLIGHT

 

      

 

         FROM F_IC_MEASURE_RULE P1, CD_IC_CODE P2

 

        WHERE P1.MEASURECODE = #measurecode#

 

         AND P2.CODETYPE = 'sectiontype'

 

         AND P1.SECTIONTYPE = P2.CODE

 

       ORDER BY P1.WARNLIGHT

 

  ]]>

 

</select>

 

数据封装格式

viewdataList

[measureMonthMap

              {warnlight1:="MEASUREMONTHRULE",

                                   Warnlight2:="MEASUREMONTHRULE2",

                                   Warnlight2:="MEASUREMONTHRULE2"

               }

]

 

 

param.put("measure_month_rule", reportService

.searchMeasureMonthRuleList(param));

 

将封装的数据放入到param集合中,页面${measure_month_rule }标识获取数据

Param{measure_month_rule="viewdataList"}

 

在jsp页面取出数据

<c:forEach var="measuremonth" items="${measure_month_rule }">

 <c:forEach var="measure" items="${measuremonth}">

  ${measure.key}  ${measure.value} ;    

 </c:forEach>

</c:forEach>



posted on 2011-12-12 15:07  square198901  阅读(831)  评论(0)    收藏  举报