JSP - Scriptlet有什么问题,以及使用什么

时间:2016-07-12 23:17:18

标签: java html jsp tomcat

多年前我在一本书中读过JSP,最近决定自己学习。我现在知道如何使用JSP scriptlet,表达式和声明

    <%! String str = "Hello World" %>
    <%= str.length() %>
    <% str=str.substring(0,5) %>

但是我已经在很多地方(在这个网站和其他地方)读过我不应该使用scriptlet。这是一个这样的问题:Eclipse using Classes in JSP

我的问题是:

  1. scriptlets有什么问题?
  2. 我该使用什么?
  3. 提前感谢您的帮助!

    编辑:

    我不使用Servlets,而是将我的JSP代码嵌入到HTML页面中。不了解Java知识的UI设计人员可以轻松修改我的页面。 基本上我使用JSP作为前端,用于从数据库进行显示并对其进行更新,例如当用户下订单时。

3 个答案:

答案 0 :(得分:8)

这当然是我个人的意见。我说scriptlet是:

  1. 1998年需要消失的老式技术;对微软ASP的回复失败。
  2. 难以阅读
  3. 难以维护
  4. 阻止重用和封装
  5. 鼓励在页面中加入复杂的逻辑
  6. 使用什么?

    1. 世界已经朝着与HTML网络服务交谈的HTML5,CSS3,JavaScript,jQuery,Bootstrap和Web技术的方向发展。这是一个很好的方向。
    2. 如果您必须坚持使用JSP,请从JSP标准模板库开始。保持HTML页面看起来像HTML - 这将使UI开发人员更容易维护它们。
    3. 尝试更现代的模板解决方案,如Thymeleaf,从服务器端生成HTML。

答案 1 :(得分:8)

这是我对此的看法。

  1. 虽然使用Java代码非常简单,但Scriplets很难阅读,而且它使代码看起来有些混乱。
  2. 和duffymo一样,大多数人都会推荐,在JSP方面,使用JSTL是Scriplets的一个更好的替代品。
  3. 曾经有一段时间我会坚持使用Scriplets在JSP中使用一些Java代码,但学习JSTL非常方便。它使代码更易于阅读,因为它与HTML标记完美融合。

答案 2 :(得分:5)

将代码与视图逻辑混合起来并不是一个干净的设计。 这就是JSP不是理想的解决方案。

你应该使用像Velocity / Freemarker这样的模板,而不允许混合java代码。

这样做的另一个好处是,非Java UI专家设计人员可以在不需要学习Java的情况下为UI做出贡献。