一尘不染

将java代码写在jsp中有什么不好?如何解决?

java jsp

经常听说不要把java逻辑代码写在jsp文件中,不知道有什么不好?如何避免?怎么使用MVC设计模式。


阅读 622

收藏
2020-01-07

共1个答案

一尘不染

可以将JSTL标记与EL表达式一起使用,以避免将Java和HTML代码混合在一起,例如:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
    <head>
    </head>
    <body>

        <c:out value="${x + 1}" />
        <c:out value="${param.name}" />
        // and so on

    </body>
</html>

scriptlet的主要缺点是:

  1. 可重用性:你无法重用scriptlet。
  2. 可替换性:你不能使scriptlet抽象。
  3. 面向对象的能力:你不能利用继承/组合。
  4. 可调试性:如果scriptlet在中途抛出异常,你得到的只是空白页。
  5. 可测试性:脚本无法进行单元测试。
  6. 可维护性:每一次维护,需要花费更多时间来维护混合/混乱/重复的代码逻辑。
2020-01-08