• 对jsp的初步了解及规范问题(二)


    前言

    今天的例子是用jsp制作简单的“艾宾浩斯记忆曲线的学习计划表”。

    重点不是算法,重点是学习jsp中的一个重要的思想,作为展现层,jsp中不应该出现业务逻辑代码。

    当中<%%>代码也会在后续的学习中改为其它方式显示,如JSTL和EL表达式。

    什么是“艾宾浩斯记忆曲线”?百度一下,你就知道!

    1.例一

    来看下代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <table border=1>
        <tr>
            <td>日期</td>
            <td>新学期</td>
            <td>复习前1课</td>
            <td>复习前2课</td>
            <td>复习前4课</td>
            <td>复习前7课</td>
            <td>复习前15课</td>
        </tr>
        <% 
            int group = 72;
            int days = group+15;
            for(int i=0;i<days;i++){
                String day = (i+1)+"";
                String task1 = "";
                String task2 = "";
                String task3 = "";
                String task4 = "";
                String task5 = "";
                String task6 = "";
        
        %>
        <tr>
            <td><%=day %></td>
            <td><%
            //求算任务1
            if(i<=group-1)
                    task1 = (i+1)+"";
            out.println(task1);
            %>
            </td>
            <td><%
            //求算任务2
            if(i<group+1&&i>=1)
                    task2 = i + "";
            out.println(task2);
            %></td>
            <td><%
            //求算任务3
            if(i-1<group+1&&i>=2)
                task3 = i-1 + "";
            out.println(task3);
            %>
            </td>
            <td><%
            //求算任务4    
                if(i-3<group+1&&i>=4)
                    task4 = i-3 + ""; 
            out.println(task4);    
            %></td>
            <td><%
            //求算任务5    
            if(i-6<group+1&&i>=7)
                task5 = i-6 + "";
            out.println(task5);
            %></td>
            <td><%
            //求算任务6    
                if(i-14<group+1&&i>=15)
                    task6 = i-14 + ""; 
            out.println(task6);
            %></td>
        </tr>
            <% }%>
    </table>
    </body>
    </html>

     我们看以看到当中的代码部分

    一眼看去,并不能很好的的阅读代码!

    当然,运行是可以的。但这要的对于代码的可读性、规范性是不合格!

    运行结果:

    2.例二

    再看下面的代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <table border=1>
        <tr>
            <td>日期</td>
            <td>新学期</td>
            <td>复习前1课</td>
            <td>复习前2课</td>
            <td>复习前4课</td>
            <td>复习前7课</td>
            <td>复习前15课</td>
        </tr>
        <% 
            int group = 72;
            int days = group+15;
            for(int i=0;i<days;i++){
                String day = (i+1)+"";
                String task1 = "";
                String task2 = "";
                String task3 = "";
                String task4 = "";
                String task5 = "";
                String task6 = "";
                //求算任务1
                if(i<=group-1)
                    task1 = (i+1)+"";
                
                //求算任务2
                if(i<group+1&&i>=1)
                    task2 = i + "";
                
                //求算任务3
                if(i-1<group+1&&i>=2)
                    task3 = i-1 + "";
                
                //求算任务4    
                if(i-3<group+1&&i>=4)
                    task4 = i-3 + "";
                
                //求算任务5    
                if(i-6<group+1&&i>=7)
                    task5 = i-6 + "";
                
                //求算任务6    
                if(i-14<group+1&&i>=15)
                    task6 = i-14 + "";
        %>
        <tr>
            <td><%=day%></td>
            <td><%=task1 %></td>
            <td><%=task2 %></td>
            <td><%=task3 %></td>
            <td><%=task4 %></td>
            <td><%=task5 %></td>
            <td><%=task6 %></td>
        </tr>
            <% }%>
    </table>
    </body>
    </html>

     例二与例一相比,无论是可读性、规范化,还是美观度来说,例二都是完胜的!

     jsp作为展现层,jsp中不应该出现业务逻辑代码。

      在后续的学习中,jsp的<%%>代码也会改为其它方式显示,如JSTL和EL表达式。

    ------------------------------------------------
  • 相关阅读:
    Element-Ui表单移除校验clearValidate和resetFields
    Vue组件之间传值(父子)
    最简单新手vuex案例(三、actions对象)
    最简单新手vuex案例(二、mutations对象)
    最简单新手vuex案例(一)
    vue如何把路由拆分多个文件
    Vue项目如何使用公共js方法呢?
    uva10815 by sixleaves
    uva12096 The SetStack Computer By sixleaves
    uva540 Team Queue by sixleaves
  • 原文地址:https://www.cnblogs.com/jyiqing/p/6840659.html
Copyright © 2020-2023  润新知