jeesite前台jsp页面展示后台据方式

第一种:数值三位加分隔符","

${status.index}从0开始
${status.count}从1开始

<div id="main_chart_4_0" style="font-size: 20px;color: #69d1d6;"></div>

<script>
    $(function () {
var todayIncome = [];
<c:forEach varStatus="status" items="${page.list}" var="tourismGustflowMonitor">

if (${status.count<2}){
todayIncome.push( ${tourismGustflowMonitor.todayIncome});
}
</c:forEach>
function formatNum0(todayIncome) {
    return (todayIncome).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
var main_chart_4_0 = document.getElementById('main_chart_4_0').innerHTML=formatNum0(todayIncome);    
});
</script>

第二种:字段求和

<div id="main_chart_4_1"></div>
<div id="main_chart_4_2"></div>

<script>

        window.onload=function()
        {

            var ticketWeb = [];
            var ticketNum=[];
            var tourismNum=[];

            <c:forEach items="${page.list}" var="tourismTicket">
            ticketWeb.push('${tourismTicket.ticketWeb}');
            ticketNum.push(${tourismTicket.ticketNum});
            tourismNum.push(${tourismTicket.tourismNum});
            </c:forEach>

            function sum3(tourismNum) {
                var w = 0;
                for (var i=tourismNum.length-1; i>=0; i--) {
                    w += tourismNum[i];
                }

                return w;
            }
            var main_chart_4_2 = document.getElementById('main_chart_4_2').innerHTML="实时客流量:<span class=\"text-blue\">"+sum3(tourismNum)+"</span>人";

            function sum(ticketNum) {
                var s = 0;
                for (var i=ticketNum.length-1; i>=0; i--) {
                    s += ticketNum[i];
                }

                return s;
            }
            var main_chart_4_1 = document.getElementById('main_chart_4_1').innerHTML="今日销售门票:<span class=\"text-blue\">"+sum(ticketNum)+"</span>张";

        }
</script>

 

第三种:和为100%

   <div class="box">
                <h3>学历分布图</h3>
                <div class="b-content">
                    <div id="chart4" style="width: 460px;height: 240px;"></div>
                </div>
            </div>

<script>
    $(function() {
 var guideEducation=[];
        var educationNum = [];
        <c:forEach items="${page3.list}" var="tourismEducation">
        guideEducation.push( '${tourismEducation.guideEducation}');
        educationNum.push( ${tourismEducation.educationNum});
        </c:forEach>
        function sum13(educationNum) {
            var s = 0;
            for (var i=educationNum.length-1; i>=0; i--) {
                s += educationNum[i];
            }

            return s;
        }
        function showChart_4(el) {
            var echart = echarts.getInstanceByDom(el) || echarts.init(el);
            echart.setOption({
                tooltip: {
                    trigger: 'item',
                    formatter: "{b}: {c}(人) "
                },
                grid: {
                    top: 20,
                    left: 0,
                    right: 0,
                    bottom: 10,
                    containLabel: true
                },
                yAxis: {
                    splitLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                    axisLine: {
                        show: false
                    },
                    axisLabel: {
                        show: false
                    }
                },
                xAxis: {
                    splitLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                    axisLine: {
                        show: false
                    },
                    axisLabel: {
                        color: '#ccddf7'
                    },
                   /* data: ['高中', '大专', '本科', '硕士', '博士及以上'],*/
                    data: [guideEducation[0],guideEducation[1],guideEducation[2], guideEducation[3], guideEducation[4]],

                },
                series: [{
                    type: 'bar',
                    barGap: '-100%',
                    barWidth: 30,
                    label: {
                        normal: {
                            show: true,
                            position: 'top',
                            textStyle: {
                                color: '#ccddf7'
                            },
                            formatter: '{c}%',
                        }
                    },
                    itemStyle: {
                        normal: {
                            color: new echarts.graphic.LinearGradient(1, 1, 0, 0, [{
                                offset: 0,
                                color: '#11eeda'
                            }, {
                                offset: 1,
                                color: '#53c8e2'
                            }], false),
                            barBorderRadius: 30
                        }
                    },
                    z: -10,
                 /*   data: [10, 70, 90, 60, 20]*/
                 data:[
                     Math.round((educationNum[0]/sum13(educationNum))*100), Math.round((educationNum[1]/sum13(educationNum))*100),
                     Math.round((educationNum[2]/sum13(educationNum))*100)
                     , Math.round((educationNum[3]/sum13(educationNum))*100),  Math.round((educationNum[4]/sum13(educationNum))*100)]
               
                }, {
                    type: 'bar',
                    barGap: '-100%',
                    barWidth: 30,
                    itemStyle: {
                        normal: {
                            color: '#353939',
                            barBorderRadius: 30
                        }
                    },
                    z: -12,
                    data: [100, 100,
                        100, 100, 100
                    ]
              /*      data: [sum13(educationNum), sum13(educationNum),
                        sum13(educationNum), sum13(educationNum), sum13(educationNum)
                    ]*/
                }]
            });
            window.onresize = function() {
                echart.resize();
            };
        }
        if ($('#chart4').length) {
            var chart = $('#chart4').get(0);
            showChart_4(chart);
        };
{
        var guideType=[];
        var guideNum = [];
        <c:forEach items="${page1.list}" var="tourismGuide">
        guideType.push( '${tourismGuide.guideType}');
        guideNum.push( ${tourismGuide.guideNum});
        </c:forEach>
        function sums(guideNum) {
            var s = 0;
            for (var i=guideNum.length-1; i>=0; i--) {
                s += guideNum[i];
            }

            return s;
        }
        var main_chart_4_1=document.getElementById('main_chart_4_1').innerHTML=sums(guideNum).toString().substring(0,1);
            var main_chart_4_11 = document.getElementById('main_chart_4_11').innerHTML=sums(guideNum).toString().substring(1,2);
            var main_chart_4_12 = document.getElementById('main_chart_4_12').innerHTML=sums(guideNum).toString().substring(2,3);
            var main_chart_4_13 = document.getElementById('main_chart_4_13').innerHTML=sums(guideNum).toString().substring(3,4);
            var main_chart_4_14 = document.getElementById('main_chart_4_14').innerHTML=sums(guideNum).toString().substring(4,5);
         var main_chart_4_15 = document.getElementById('main_chart_4_15').innerHTML=sums(guideNum).toString().substring(5,6);
        var main_chart_4_16 = document.getElementById('main_chart_4_16').innerHTML=sums(guideNum).toString().substring(6,7);
      /*  var main_chart_4_17 = document.getElementById('main_chart_4_17').innerHTML=sums(guideNum).toString().substring(7,8);*/
              function showChart_1(el) {
                  var echart = echarts.getInstanceByDom(el) || echarts.init(el);
                  echart.setOption({
                      tooltip: {
                          trigger: 'item',
                          formatter: '{b}:{c}(人)({d}%)'
                      },
                      legend: {
                          orient: 'vertical',
                          left: 'right',
                        /*  data: ['本市导游', '入境导游', '出境导游'],*/
                  data:guideType,
                    textStyle: {
                        color: '#ccddf7'
                    },
                    top: 30,
                    right: 20
                },
                color: ['#5dc3fe', '#59e0fc', '#ec5151'],
                series: [{
                    name: '导游类型',
                    type: 'pie',
                    radius: '50%',
                    center: ['50%', '60%'],
                    label: {
                        normal: {
                            color: '#ccddf7'
                        }
                    },
                    data: [{
                        value: guideNum[0],
                        name: guideType[0]
                    }, {
                        value: guideNum[1],
                        name: guideType[1]
                    }, {
                        value: guideNum[2],
                        name: guideType[2]
                    }, ],
                    itemStyle: {
                        emphasis: {
                            shadowBlur: 10,
                            shadowOffsetX: 0,
                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                        }
                    }
                }]
            });
            window.onresize = function() {
                echart.resize();
            };
        }
        if ($('#chart1').length) {
            var chart = $('#chart1').get(0);
            showChart_1(chart);
        };
        var monthName=[];
        var yearNum = [];
        var growthRate=[];
        <c:forEach items="${page.list}" varStatus="status"  var="tourismGuidegrowth">
if(${status.count<13}){
        monthName.push( '${tourismGuidegrowth.monthName}');
        yearNum.push( ${tourismGuidegrowth.yearNum});
        growthRate.push( ${tourismGuidegrowth.growthRate});
}
        </c:forEach>
        function showChart_2(el) {
            var echart = echarts.getInstanceByDom(el) || echarts.init(el);
            echart.setOption({
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {
                        type: 'shadow'
                    }
                },
                grid: {
                    left: 20,
                    right: 20,
                    bottom: 10,
                    containLabel: true
                },
                legend: {
                    x: "right",
                    data: ['今年人数', '增长率'],
                    textStyle: {
                        color: '#ccddf7'
                    },
                    top: 10,
                    right: 20
                },
                xAxis: [{
                    type: 'category',
                    boundaryGap: 0,
                 /*   data: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月",
                        "十二月"
                    ],*/
                 data:monthName,
                    axisLabel: {
                        color: "#ccddf7"
                    }
                }],
                yAxis: [{
                    type: 'value',
                    name: '万人',
                    interval: 50,
                    axisLabel: {
                        formatter: '{value}',
                        color: "#ccddf7"
                    },
                    axisLine: {
                        lineStyle: {
                            color: '#ccddf7',
                        }
                    },
                    splitLine: {
                        lineStyle: {
                            color: '#365669'
                        }
                    }
                }, {
                    type: 'value',
                    name: '%',
                    interval: 5,
                    axisLabel: {
                        formatter: '{value}%',
                        color: "#ccddf7"
                    },
                    axisLine: {
                        lineStyle: {
                            color: '#ccddf7',
                        }
                    },
                    splitLine: {
                        show: false
                    }
                }],
                series: [{
                    name: '今年人数',
                    type: 'line',
                  /*  data: [24.5, 23.9, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3, 3.2, 4,
                        5
                    ],*/
                  data:yearNum,
                    smooth: true,
                    symbol: 'roundRect',
                    symbolSize: 5,
                    showSymbol: true,
                    lineStyle: {
                        normal: {
                            width: 1
                        }
                    },
                    areaStyle: {
                        normal: {
                            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                                offset: 0,
                                color: 'rgba(67, 255, 255, 0.8)'
                            }, {
                                offset: 0.8,
                                color: 'rgba(67, 255, 255, 0.4)'
                            }], false),
                            shadowColor: 'rgba(0, 0, 0, 0.1)',
                            shadowBlur: 10
                        }
                    },
                    itemStyle: {
                        normal: {

                            color: 'rgba(67, 255, 255, 0.9)',
                            borderColor: 'rgba(219,50,51,0.2)',
                            borderWidth: 12
                        }
                    }
                }, {
                    name: '增长率',
                    type: 'line',
                    yAxisIndex: 1,
                   /* data: [2.6, 3.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 6.2, 23.4,
                        23.0
                    ],*/
                   data:growthRate,
                    smooth: true,
                    symbol: 'roundRect',
                    symbolSize: 5,
                    showSymbol: true,
                    lineStyle: {
                        normal: {
                            width: 1
                        }
                    },
                    areaStyle: {
                        normal: {
                            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                                offset: 0,
                                color: 'rgba(233, 78, 97, 0.8)'
                            }, {
                                offset: 0.8,
                                color: 'rgba(233, 78, 97, 0.4)'
                            }], false),
                            shadowColor: 'rgba(0, 0, 0, 0.1)',
                            shadowBlur: 10
                        }
                    },
                    itemStyle: {
                        normal: {
                            color: 'rgba(233, 78, 97, 0.9)',
                            borderColor: 'rgba(233, 78, 97, 0.2)',
                            borderWidth: 12

                        }
                    }
                }]
            });
            window.onresize = function() {
                echart.resize();
            };
        }
        if ($('#chart2').length) {
            var chart = $('#chart2').get(0);
            showChart_2(chart);
        };
        var guideGrade=[];
        var gradeNum = [];
        <c:forEach items="${page2.list}" var="tourismGrade">
        guideGrade.push( '${tourismGrade.guideGrade}');
        gradeNum.push( ${tourismGrade.gradeNum});
        </c:forEach>
        function showChart_3(el) {
            var echart = echarts.getInstanceByDom(el) || echarts.init(el);
            echart.setOption({
                tooltip: {
                    trigger: 'item',
                    formatter: "{a} <br/>{b}: {c}(人) ({d}%)"
                },
                legend: {
                    orient: 'vertical',
                    x: 'right',
                    /*data: ['初级', '中级', '高级', '特级'],*/
                    data:guideGrade,
                    right: 20,
                    top: 20,
                    textStyle: {
                        color: '#ccddf7'
                    },
                },
                color: ['#4783e7', '#6cfbf6', '#5fd5fc', '#ec5151'],
                series: [{
                    name: '等级',
                    type: 'pie',
                    radius: ['40%', '60%'],
                    avoidLabelOverlap: false,
                    label: {
                        normal: {
                            show: true,
                            color: "#ccddf7"
                        }
                    },
                    data: [{
                        value: gradeNum[0],
                        name: guideGrade[0]
                    }, {
                        value: gradeNum[1],
                        name: guideGrade[1]
                    }, {
                        value: gradeNum[2],
                        name: guideGrade[2]
                    }, {
                        value: gradeNum[3],
                        name: guideGrade[3]
                    }]
                }]
            });
            window.onresize = function() {
                echart.resize();
            };
        }
        if ($('#chart3').length) {
            var chart = $('#chart3').get(0);
            showChart_3(chart);
        };
        var guideEducation=[];
        var educationNum = [];
        <c:forEach items="${page3.list}" var="tourismEducation">
        guideEducation.push( '${tourismEducation.guideEducation}');
        educationNum.push( ${tourismEducation.educationNum});
        </c:forEach>
        function sum13(educationNum) {
            var s = 0;
            for (var i=educationNum.length-1; i>=0; i--) {
                s += educationNum[i];
            }

            return s;
        }
        function showChart_4(el) {
            var echart = echarts.getInstanceByDom(el) || echarts.init(el);
            echart.setOption({
                tooltip: {
                    trigger: 'item',
                    formatter: "{b}: {c}(人) "
                },
                grid: {
                    top: 20,
                    left: 0,
                    right: 0,
                    bottom: 10,
                    containLabel: true
                },
                yAxis: {
                    splitLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                    axisLine: {
                        show: false
                    },
                    axisLabel: {
                        show: false
                    }
                },
                xAxis: {
                    splitLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                    axisLine: {
                        show: false
                    },
                    axisLabel: {
                        color: '#ccddf7'
                    },
                   /* data: ['高中', '大专', '本科', '硕士', '博士及以上'],*/
                    data: [guideEducation[0],guideEducation[1],guideEducation[2], guideEducation[3], guideEducation[4]],

                },
                series: [{
                    type: 'bar',
                    barGap: '-100%',
                    barWidth: 30,
                    label: {
                        normal: {
                            show: true,
                            position: 'top',
                            textStyle: {
                                color: '#ccddf7'
                            },
                            formatter: '{c}%',
                        }
                    },
                    itemStyle: {
                        normal: {
                            color: new echarts.graphic.LinearGradient(1, 1, 0, 0, [{
                                offset: 0,
                                color: '#11eeda'
                            }, {
                                offset: 1,
                                color: '#53c8e2'
                            }], false),
                            barBorderRadius: 30
                        }
                    },
                    z: -10,
                 /*   data: [10, 70, 90, 60, 20]*/
                 data:[/*Math.floor((educationNum[0]/sum13(educationNum))*100), Math.floor((educationNum[1]/sum13(educationNum))*100),
                     Math.floor((educationNum[2]/sum13(educationNum))*100)
                     , Math.floor((educationNum[3]/sum13(educationNum))*100),  Math.floor((educationNum[4]/sum13(educationNum))*100)]*/
                     Math.round((educationNum[0]/sum13(educationNum))*100), Math.round((educationNum[1]/sum13(educationNum))*100),
                     Math.round((educationNum[2]/sum13(educationNum))*100)
                     , Math.round((educationNum[3]/sum13(educationNum))*100),  Math.round((educationNum[4]/sum13(educationNum))*100)]
                 /*    Math.ceil((educationNum[0]/sum13(educationNum))*100), Math.ceil((educationNum[1]/sum13(educationNum))*100),
                     Math.ceil((educationNum[2]/sum13(educationNum))*100)
                     , Math.ceil((educationNum[3]/sum13(educationNum))*100),  Math.ceil((educationNum[4]/sum13(educationNum))*100)]*/
                }, {
                    type: 'bar',
                    barGap: '-100%',
                    barWidth: 30,
                    itemStyle: {
                        normal: {
                            color: '#353939',
                            barBorderRadius: 30
                        }
                    },
                    z: -12,
                    data: [100, 100,
                        100, 100, 100
                    ]
              /*      data: [sum13(educationNum), sum13(educationNum),
                        sum13(educationNum), sum13(educationNum), sum13(educationNum)
                    ]*/
                }]
            });
            window.onresize = function() {
                echart.resize();
            };
        }
        if ($('#chart4').length) {
            var chart = $('#chart4').get(0);
            showChart_4(chart);
        };
        var ageType = [];
        var female=[];
        var male=[];

        <c:forEach items="${page6.list}" var="tourismGuidesex">

        ageType.push('${tourismGuidesex.ageType}');
        female.push(${tourismGuidesex.female});
        male.push(${tourismGuidesex.male});
        </c:forEach>
        function sum(female,male) {
            var s = 0;
            var m = 0;
            for (var i=female.length-1; i>=0; i--) {
                s += female[i];
            }
            for (var j=male.length-1; j>=0; j--) {
                m += male[j];
            }
            return  Math.round((s/(m+s))*100);
        }
        function sum1(female,male) {
            var s = 0;
            var m = 0;
            for (var i=female.length-1; i>=0; i--) {
                s += female[i];
            }
            for (var j=male.length-1; j>=0; j--) {
                m += male[j];
            }
            return Math.round((m/(m+s))*100);
        }
        var main_chart_1 = document.getElementById('main_chart_1').innerHTML="女性:"+sum(female,male)+"%";
        var main_chart_2 = document.getElementById('main_chart_2').innerHTML="男性:"+sum1(female,male)+"%";
        function showChart_5(el) {
            var echart = echarts.getInstanceByDom(el) || echarts.init(el);
            var scale = 1;
            var echartData = [{
                name: ageType[0],
                value: female[0]
            }, {
                name: ageType[1],
                value: female[1]
            }, {
                name: ageType[2],
                value: female[2]
            }, {
                name: ageType[3],
                value: female[3]
            }, {
                name: ageType[4],
                value: female[4]
            }]
            var echartData2 = [{
                name: ageType[0],
                value: male[0]
            }, {
                name: ageType[1],
                value: male[1]
            }, {
                name: ageType[2],
                value: male[2]
            }, {
                name: ageType[3],
                value: male[3]
            }, {
                name: ageType[4],
                value: male[4]
            }]
            var rich = {
                yellow: {
                    color: "#ccddf7",
                    align: 'center'
                },
                total: {
                    color: "#ccddf7",
                    align: 'center'
                },
                white: {
                    color: '#ccddf7',
                    align: 'center'
                },
                blue: {
                    color: '#ccddf7',
                    align: 'center',
                    padding: [5, 0]
                }
            }
            echart.setOption({
                tooltip: {
                    trigger: 'item',
                    formatter: "{a} <br/>{b} : {c}(人) ({d}%)"
                },
                series: [{
                    name: '女性',
                    type: 'pie',
                    center: ['25%', '65%'],
                    radius: ['25%', '35%'],
                    hoverAnimation: false,
                    color: ['#7edfff',
                        '#5893ff', '#62ffcd', '#ffb156', '#c176e4'
                    ],
                    label: {
                        normal: {
                            formatter: function(params, ticket, callback) {
                                var total = 0;
                                var percent = 0;
                                echartData.forEach(function(value, index, array) {
                                    total += value.value;
                                });
                                percent = ((params.value /
                                    total) * 100).toFixed(1);
                                return params.name + '\n{blue|' + percent + '%}';
                            },
                            rich: rich
                        },
                    },
                    data: echartData
                }, {
                    name: '男性',
                    type: 'pie',
                    center: ['75%', '65%'],
                    radius: ['25%', '35%'],
                    hoverAnimation: false,
                    color: ['#7edfff', '#5893ff', '#62ffcd',
                        '#ffb156', '#c176e4'
                    ],
                    label: {
                        normal: {
                            formatter: function(params, ticket, callback) {
                                var total = 0;
                                var percent = 0;
                                echartData2.forEach(function(value, index, array) {
                                    total += value.value;
                                });
                                percent = ((params.value / total) * 100).toFixed(1);
                                return params.name + '\n{blue|' + percent + '%}';
                            },
                            rich: rich
                        },
                    },
                    data: echartData2
                }]
            });
            window.onresize = function() {
                echart.resize();
            };
        }
        if ($('#chart5').length) {
            var chart = $('#chart5').get(0);
            showChart_5(chart);
        };
    })

第四种:前三个为黄色

 <div class="box">
                <h3>导游组织导游数排行TOP10</h3>
                <div class="b-content">
                    <table>
                        <tr>
                            <th>序号</th>
                            <th>旅行社名称</th>
                            <th>导游数(人)</th>
                        </tr>
<c:forEach varStatus="status" items="${page4.list}" var="tourismGuidenum">
    <c:choose>
    <c:when test="${status.count<11}">
                        <tr>
                            <td>
                                <c:choose>
                                    <c:when test="${status.count>3}">
                                        <span class="blue">${status.count}</span>
                                    </c:when>
                                    <c:otherwise>
                                        <span class="yellow">${status.count}</span>
                                    </c:otherwise>
                                </c:choose>
                            </td>
                            <td>${tourismGuidenum.travelName}</td>
                            <td>${tourismGuidenum.giudenum}</td>
                        </tr>
    </c:when>
    </c:choose>
</c:forEach>
       </table>
                </div>
            </div>

整数个数

 function sum1(twoSide) {
            var s = 0;
            for (var i=twoSide.length-1; i>=0; i--) {
                if (twoSide[i]=="正"){
                    s++;
                }
            }

            return s;
        }

突发事件统计

 var warningType=[];
        <c:forEach items="${page.list}" var="tourismWarning">
        warningType.push( '${tourismWarning.warningType}');
        </c:forEach>
        function sum4(warningType) {
            var s = 0;
            for (var i=warningType.length-1; i>=0; i--) {
                if(warningType[i]=='景区周边道路预警'){
                   s++;
                }
            }

            return s;
        }
        function sum1(warningType) {
            var s = 0;
            for (var i=warningType.length-1; i>=0; i--) {
                if(warningType[i]=='地址灾害气象预警'){
                    s++;
                }
            }

            return s;
        }
        function sum2(warningType) {
            var s = 0;
            for (var i=warningType.length-1; i>=0; i--) {
                if(warningType[i]=='突发事件'){
                    s++;
                }
            }

            return s;
        }
        function sum3(warningType) {
            var s = 0;
            for (var i=warningType.length-1; i>=0; i--) {
                if(warningType[i]=='景区容量预警'){
                    s++;
                }
            }

            return s;
        }
        var main_chart_41=document.getElementById('main_chart_41').innerHTML=sum4(warningType);
        var main_chart_31=document.getElementById('main_chart_31').innerHTML=sum3(warningType);
        var main_chart_21=document.getElementById('main_chart_21').innerHTML=sum2(warningType);
        var main_chart_11=document.getElementById('main_chart_11').innerHTML=sum1(warningType);

树型选择联动

  (function ($) {

        $.fn.zDropdown = function () {
            return $(this).each(function () {
                var _this = $(this);
                var $sel = _this.find('.dropdown-sel');
                var $option = _this.find('.dropdown-option');
                $sel.click(function (e) {
                    e.stopPropagation();
                    $option.toggle();
                });
                $(document).click(function () {
                    $option.hide();
                });
                $option.on('click', 'li', function () {
                    var selTxt = $(this).children('a').text();
                    $sel.val(selTxt);
                });
            });
        }
    })(jQuery);
   $('.z-dropdown').zDropdown();
		<td>

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
底层架构优化 Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。 模块化数据库自动升级程序,当模块升级代码需要更新时,自动对应版本执行SQL更新。 授权模块,支持CAS单点登录,简单properties配置即可,不用再写很多的xml。 支持多数据源,简单properties配置即可实现,为了安全性吧,暂不提供界面维护数据源,不存数据库。 数据表主键优化,如分类科目表,采用有意义的主键方式,让客户去自定义,减少后期运维维护成本。 实体@Table注解配置 a. 自动生成增删改通用SQL,不需要在mapper.xml里写重复又费时的SQL了,减少开发和后期维护成本。b. 这里所有定义@Column均放到类头,而不是分布到各个属性或方法上,这是如下原因:c. 一是,放到表头的好处是,可一览熟知该实体类对应的物理表结构是什么样,开发者思维从物理表结构到对象的映射转换,都是基于物理表结构的,@Column指定物理字段名,而不是指定类上的属性名,也是这个原因;d. 二是,生成的SQL和查询条件,列的排列顺序,可方便核查定义,优化查询;e. 三是,方便@JoinTable关联表和其它扩展信息的设置,如果分布到类的属性上就不太好管理列。 用户数据权限优化,不仅仅是角色,颗粒度细化到每个人员的身上,可自定义第三方数据权限,不仅仅是部门和公司,你可以扩展,如:地区,栏目分类,商品分类。 支持SAAS多租户模式,每个租户数据通过corp_code字段进行分离,数据互不干扰。 缓存EhCache统一管理,支持快速切换为Redis缓存,集群Session缓存共享。 安全方面优化 原有JeeSite1.2安全选项及安全考虑保留。 配置文件数据库密码及其它安全密钥自动加密。 所有请求参数获取,均通过XSS跨站脚本过滤方法。 乐观锁简单实现,必要情况下使用,提高数据安全性。 通过properties简单配置,限制是否允许JS跨域操作。 身份认证 a. 登录失败多少次后显示验证码b. 登录失败多少次后锁定账号及锁定账号时间c. 登录账号密码可加密后再提交后台d. 同设备是否允许账号多地登录 密码策略 a. 初始密码修改策略,提醒或强制用户修改初始密码。b. 账号密码修改策略,多长时间内未修改,则提醒或强制修改密码。c. 账号密码安全等级限制策略,很弱密码,弱密码,安全密码,很安全密码 安全审计(后期) a. 查询未修改初始密码的账号,使用简单密码的,定期未修改的,长期未登录的。b. 权限审计,按登录账号查询菜单和权限,按菜单和权限查询登录账号 用户界面优化 平面化界面设计,精细,更加美观、高端、大气、上档次。 支持手机或平板访问,响应式样式,根据屏幕分辨率自适应控件布局。 无刷新设计,除了进入功能页面和新页面,其它情况下全部采用Ajax交互,优化体验和性能。 支持一件换肤,只需在properties里修改下主题名称即可快速切换整个UI的风格,不仅仅是色调和样式,布局也可改变。支持自定义扩展项目独有的主题样式风格。 优化用户功能操作,大众思维模式,功能清晰,更加贴切和友好。 前端开发优化 采用当前比较流行的Beetl模板引擎,它的优点很多,大家可自行查阅看看,这里不多说了。 封装Beetl UI通用组件,简单实现基本表单控件、树选择,列表选择,文件上传,等等很多,总之是简化开发。 数据表格jqGrid组件封装,自动完成分页、排序、列宽、多表头、子表、编辑表、等。 功能及组件优化 工具类Utils封装优化,应有尽有,包分类层次分明,独立工具类项目。 强大的Excel导出导入工具封装,支持大数据量,注解定义,简单配置即可实现。 Job作业调度,界面化在线管理,可新增,编辑、删除、暂停、恢复、运行一次等操作 在线查询在线人员,强踢在线账号。 代码生成工具操作简化及优化。
要将后台的数据展示JSP页面,可以使用SpringMVC的ModelAndView对象。 以下是一个简单的例子: 1. 在Controller中定义方法,查询数据并将其存储在ModelAndView对象中。 ``` @RequestMapping(value = "/showData", method = RequestMethod.GET) public ModelAndView showData() { List<User> userList = userService.getUserList(); ModelAndView modelAndView = new ModelAndView("showData"); modelAndView.addObject("userList", userList); return modelAndView; } ``` 2. 在JSP页面中,使用EL表达式获取存储在ModelAndView对象中的数据并展示。 ``` <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <body> <table> <tr> <th>Id</th> <th>Name</th> <th>Age</th> </tr> <c:forEach var="user" items="${userList}"> <tr> <td>${user.id}</td> <td>${user.name}</td> <td>${user.age}</td> </tr> </c:forEach> </table> </body> </html> ``` 在这个例子中,我们通过Controller中的showData方法获取了一个名为"userList"的List对象,将其存储在ModelAndView对象中,并返回到JSP页面。在JSP页面中,我们使用EL表达式获取"userList"对象,并通过<c:forEach>标签循环展示每个用户的信息。 需要注意的是,我们在JSP页面中使用了JSTL标签库的<c:forEach>标签。如果您还没有在项目中引入JSTL标签库,则需要在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> ``` 同时,需要在JSP页面的头部添加以下标签库声明: ``` <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值