前言

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

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

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

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

1.例一

来看下代码:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <table border=1>
  11. <tr>
  12. <td>日期</td>
  13. <td>新学期</td>
  14. <td>复习前1课</td>
  15. <td>复习前2课</td>
  16. <td>复习前4课</td>
  17. <td>复习前7课</td>
  18. <td>复习前15课</td>
  19. </tr>
  20. <%
  21. int group = 72;
  22. int days = group+15;
  23. for(int i=0;i<days;i++){
  24. String day = (i+1)+"";
  25. String task1 = "";
  26. String task2 = "";
  27. String task3 = "";
  28. String task4 = "";
  29. String task5 = "";
  30. String task6 = "";
  31.  
  32. %>
  33. <tr>
  34. <td><%=day %>天</td>
  35. <td><%
  36. //求算任务1
  37. if(i<=group-1)
  38. task1 = (i+1)+"";
  39. out.println(task1);
  40. %>
  41. </td>
  42. <td><%
  43. //求算任务2
  44. if(i<group+1&&i>=1)
  45. task2 = i + "";
  46. out.println(task2);
  47. %></td>
  48. <td><%
  49. //求算任务3
  50. if(i-1<group+1&&i>=2)
  51. task3 = i-1 + "";
  52. out.println(task3);
  53. %>
  54. </td>
  55. <td><%
  56. //求算任务4
  57. if(i-3<group+1&&i>=4)
  58. task4 = i-3 + "";
  59. out.println(task4);
  60. %></td>
  61. <td><%
  62. //求算任务5
  63. if(i-6<group+1&&i>=7)
  64. task5 = i-6 + "";
  65. out.println(task5);
  66. %></td>
  67. <td><%
  68. //求算任务6
  69. if(i-14<group+1&&i>=15)
  70. task6 = i-14 + "";
  71. out.println(task6);
  72. %></td>
  73. </tr>
  74. <% }%>
  75. </table>
  76. </body>
  77. </html>

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

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

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

运行结果:

2.例二

再看下面的代码:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <table border=1>
  11. <tr>
  12. <td>日期</td>
  13. <td>新学期</td>
  14. <td>复习前1课</td>
  15. <td>复习前2课</td>
  16. <td>复习前4课</td>
  17. <td>复习前7课</td>
  18. <td>复习前15课</td>
  19. </tr>
  20. <%
  21. int group = 72;
  22. int days = group+15;
  23. for(int i=0;i<days;i++){
  24. String day = (i+1)+"";
  25. String task1 = "";
  26. String task2 = "";
  27. String task3 = "";
  28. String task4 = "";
  29. String task5 = "";
  30. String task6 = "";
  31. //求算任务1
  32. if(i<=group-1)
  33. task1 = (i+1)+"";
  34.  
  35. //求算任务2
  36. if(i<group+1&&i>=1)
  37. task2 = i + "";
  38.  
  39. //求算任务3
  40. if(i-1<group+1&&i>=2)
  41. task3 = i-1 + "";
  42.  
  43. //求算任务4
  44. if(i-3<group+1&&i>=4)
  45. task4 = i-3 + "";
  46.  
  47. //求算任务5
  48. if(i-6<group+1&&i>=7)
  49. task5 = i-6 + "";
  50.  
  51. //求算任务6
  52. if(i-14<group+1&&i>=15)
  53. task6 = i-14 + "";
  54. %>
  55. <tr>
  56. <td><%=day%>天</td>
  57. <td><%=task1 %></td>
  58. <td><%=task2 %></td>
  59. <td><%=task3 %></td>
  60. <td><%=task4 %></td>
  61. <td><%=task5 %></td>
  62. <td><%=task6 %></td>
  63. </tr>
  64. <% }%>
  65. </table>
  66. </body>
  67. </html>

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

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

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

对jsp的初步了解及规范问题(二)的更多相关文章

  1. 编码规范(二)之Code Templates的设置(转)

    http://swiftlet.net/archives/1199 编码规范(二)之Code Templates的设置(转) 文件(Files)注释标签:/** * @Title: ${file_na ...

  2. Servlet 3.0 规范(二)注解驱动和异步请求

    Servlet 3.0 规范(二)注解驱动和异步请求 在 Servlet 3.0 时支持注解启动,不再需要 web.xml 配制文件. 一.Servlet 3.0 组件 Servlet 容器的组件大致 ...

  3. JSP页面和属性命名规范

     1.页面命名: 登陆 Login注册 Register用户 User创建 Create修改 Update删除 Delete查询 Selete控制器 Controller用户名 Username密码 ...

  4. 对jsp的初步了解及生成war包(一)

    1.jsp与html的区别 最简单的说:jsp是动态网页,html是静态网页 HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性 ...

  5. Java高级规范之二

    二十一.提交java代码前应该检查是否有没用的语句,如:System.out.println(); jsp页面上面是否有alert调试信息 不规范示例:暂无 规范实例:暂无 解析:因为如果保留了有可能 ...

  6. JSP网站开发基础总结《十二》

    前两篇已经简单为大家介绍了一下,有关Filter接口的知识,本篇就让我们以一个登录小功能,来具体实现一下过滤器的作用,便于大家掌握.具体为大家介绍一下如何使用Filter对访问进行过滤,及如何防止中文 ...

  7. JSP 文件上传下载系列之二[Commons fileUpload]

    前言 关于JSP 文件上传的基础和原理在系列一中有介绍到. 这里介绍一个很流行的组件commons fileupload,用来加速文件上传的开发. 官方的介绍是:  让添加强壮,高性能的文件到你的se ...

  8. Java编程规范(二)

    二.格式规范 在上一篇的java编程规范(一)中我们讲述了在Java编码中的一般原则,虽然这些原则并不涉及具体的代码规范,但是这些原则却是我们在Java开发过程中所应该遵循的规范与思想.今天我们将学习 ...

  9. Servlet与Jsp的结合使用实现信息管理系统二

    PS:前面说了抽取框架的搭建,接着就要我们开始进入网址的时候就要查到全部信息并显示在首页,我们用到的MySql数据库,具体步骤是: 创建数据库,创建表,添加信息 项目中调入mysql的jar包 mys ...

随机推荐

  1. java集合的核心知识

    1.    集合 1.1. 什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式. 集合的出现就是为了持有对象. ...

  2. poj1410计算几何线段相交

    You are to write a program that has to decide whether a given line segment intersects a given rectan ...

  3. OC分类(Category)

    Category 分类 ,又称为类别.类目 概念 Category有多种翻译:分类.类别.类目(一般叫分类的多) Category式OC特有的语法,其他语言没有的语法(类似于C#语言中的"扩 ...

  4. opencv探索之路(一):win10 X64+VS2015+opencv3.10安装教程

    我的电脑64位Win10系统,现在利用VS2015安装opencv3.10.安装之路颇为艰辛,从一开始的VS2015的安装,到opencv的安装,都充满挑战,历经千辛万苦终于把opencv开发环境搭建 ...

  5. 栈的Java简单实现

    关于栈 栈(Stack)是限定只能在一段进行插入和删除操作的线性表. 进行插入和删除操作的一端称为“栈顶”(top),另一端称为“栈底”(bottom). 栈的插入操作称为“入栈”(push),栈的删 ...

  6. Tomcat--各个目录详解(二)

    Tomcat整体目录: 一.bin文件(存放启动和关闭tomcat脚本) 其中.bat和.sh文件很多都是成对出现的,作用是一样的,一个是Windows的,一个是Linux. ① startup文件: ...

  7. 【转】MyISAM和InnoDB 区别

    InnoDB和MyISAM是MySQL最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调 ...

  8. Ubuntu设置终端相对短路径

    这个设置相对实际上是比较简单的.在自己的家目录打开.bashrc 找到PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$' 只需要将w修改为大写W保存, ...

  9. 手机端的viewport属性

    Window.devicePixelRatioThis read-only property returns the ratio of the resolution in physical pixel ...

  10. URI结构

    [scheme:][//host:port][path][?query][#fragment] path:从端口后第一个/开始,可以有多个,每个用/连接. query:从第一个?开始,至行尾或#结束. ...