关于java:JSP – scriptlet有什么问题,以及使用什么

JSP - What is wrong with scriptlets, and what to use instead

本问题已经有最佳答案,请猛点这里访问。

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

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

但我在很多地方(在这个网站和其他地方)都读到了我不应该使用脚本。这就是这样一个问题:Eclipse在JSP中使用类

我的问题是:

  • 脚本有什么问题?
  • 我用什么来代替?
  • 提前感谢任何帮助!

    编辑:

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


    这是我的看法。

  • 虽然使用Java代码很简单,但是脚本很难读取,这使得代码看起来有点混乱。
  • 像Duffymo和大多数人推荐的那样,在JSP方面,使用JSTL是比scriplets更好的选择。
  • 曾经有一段时间,我会坚持使用脚本来在JSP中使用一些Java代码,但是学习JSTL非常方便。它使代码更容易阅读,因为它与HTML标记很好地融合在一起。


    当然,这是我个人的看法。我说剧本是:

  • 1998年的老牌技术需要消失;对微软的ASP的失败反应。
  • 丑陋
  • 难读
  • 难以维护
  • 不鼓励重用和封装
  • 鼓励将复杂的逻辑放入页面
  • 用什么代替?

  • 世界已经朝着HTML5、CSS3、javascript、jquery、bootstrap和与RESTWeb服务对话的Web技术的方向发展。这是个好方向。
  • 如果必须坚持使用JSP,请从JSP标准模板库开始。保持HTML页面的外观像HTML-这将使UI开发人员更容易维护它们。
  • 尝试一个更现代的模板解决方案,如thymeleaf,从服务器端生成HTML。

  • 将代码与视图逻辑混合在一起不是一种干净的设计。这就是为什么JSP不是理想的解决方案的原因。

    您应该使用像Felp/FrimaRK这样的模板,而不允许混合Java代码。

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