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作为前端,从数据库中显示并对其进行更新,比如当用户下订单时。
- JSP可以视为已弃用。如果您有选择的话,可以选择不需要编译的轻量级解决方案,并且可以更好地分离逻辑和布局。
这是我的看法。
虽然使用Java代码很简单,但是脚本很难读取,这使得代码看起来有点混乱。
像Duffymo和大多数人推荐的那样,在JSP方面,使用JSTL是比scriplets更好的选择。
曾经有一段时间,我会坚持使用脚本来在JSP中使用一些Java代码,但是学习JSTL非常方便。它使代码更容易阅读,因为它与HTML标记很好地融合在一起。
- 我希望我现在能选择两个答案
- 很好,达菲莫实际上为JSP提供了一些不错的替代方案。如果您想保持JSP中HTML代码的整洁,可以对CSS、JQuery和JS之类的代码进行修改。
- +对于拥有"227K"声誉的用户,15分无关紧要。+对于一个信誉度为"1"的用户,15分意味着很多并鼓励他们。至少,如果这个答案有帮助的话,请投赞成票。
当然,这是我个人的看法。我说剧本是:
1998年的老牌技术需要消失;对微软的ASP的失败反应。
丑陋
难读
难以维护
不鼓励重用和封装
鼓励将复杂的逻辑放入页面
用什么代替?
世界已经朝着HTML5、CSS3、javascript、jquery、bootstrap和与RESTWeb服务对话的Web技术的方向发展。这是个好方向。
如果必须坚持使用JSP,请从JSP标准模板库开始。保持HTML页面的外观像HTML-这将使UI开发人员更容易维护它们。
尝试一个更现代的模板解决方案,如thymeleaf,从服务器端生成HTML。
- 我同意你的说法,但这是一个糟糕的答案。""如何在服务器上创建动态生成的网页"不是HTML5的答案吗?答案类似于"jstl或thymeleaf"。也许下次再开始吧。另外,问题的一部分是"为什么不使用脚本",而您没有解决这个问题。
- 可怕的?这与"我同意你所说的相当多"不一致。有两个部分:(1)脚本有什么问题;(2)我还使用什么?你没有读过第二个清单中的项目3吗?
将代码与视图逻辑混合在一起不是一种干净的设计。这就是为什么JSP不是理想的解决方案的原因。
您应该使用像Felp/FrimaRK这样的模板,而不允许混合Java代码。
另一个好处是非Java UI专家设计人员可以在不学习Java的情况下对UI做出贡献。
- 有两件事:我的JSP代码对于非Java设计者来说是很容易理解的——它基本上是带值的HTML;我只需要Java代码来连接到数据库和读写对象对象。如果不是通过JSP之类的动态服务器端语言,我还能如何实现这一点?
- @Vikarjramun只用JSF
- @实际上,这正是我要找的。不过,我从达菲莫和阿米塔的回答中得到了一些很好的建议。我认为达菲的回答最有帮助,我会接受他的。
- @Vikarjramun他的回答与我的并不冲突,JSF可以运行在HTML5、JS、引导程序等之上。
- @我明白。只是百里香(他的建议),我似乎不需要JSF。
- 在这种情况下,我建议你看一下游戏框架。
- 当提到在JSP中需要数据库连接代码时,看起来好像不理解分离显示逻辑和代码。数据库可以改变,最终会改变JSP。