【问题标题】:How should I be writing my JSP files - Java, JSTL, or other?我应该如何编写我的 JSP 文件 - Java、JSTL 或其他?
【发布时间】:2011-11-10 17:33:33
【问题描述】:

我从事 Java 开发已有 14 年了,我的大部分项目都是我们必须完成的工作,而不是能够计划和设计。 目前一切都很平静,为了公司(和我的简历),我想把事情做好。

在编写 JSP 时,我通常会在 的顶部声明几个 Java 类,然后插入一些 Java 代码以遍历 ArrayLists/HashMaps,或者当我需要在标签中选择特定的时候。

我过去使用过 JSTL,但它让我疯狂地试图操纵结构来做我想做的事;用 Java 编写等价物很简单。

我该怎么办? JSTL 是“正确”的做事方式吗? 事情的进展远不止于此,我应该使用另一种方式来编写 JSP?

我目前使用 Struts(是的,甚至没有 Struts 2),如果可以的话,我想迁移到 Spring/Struts 2。但是,如果我连手推车都不能正确骑,我开法拉利也没有意义。

欢迎大家提出想法、建议、批评。

【问题讨论】:

  • 你的诚实和谦虚真是太酷了。
  • 相关:stackoverflow.com/questions/3177733/… 我对 Struts 一无所知,我只知道它是一个遗留的 MVC 框架。它真的没有提供任何方法来挂钩 GET/POST 请求的操作吗?对我来说,您使用 Struts(或任何其他 MVC 框架)而不是 scriptlets 会更有意义。
  • 感谢 BalusC。我没有在我的 JSP 中做任何像业务逻辑这样愚蠢的事情,但你的最后三个示例是我经常做的相关示例。我将开始谨慎地移动一些页面以使用 JSTL。

标签: java spring jsp struts jstl


【解决方案1】:

使用 scriptlet 是一种非常过时的做法。迭代集合就像<c:forEach ...> 一样简单。只要集合是可迭代的,集合的类型并不重要。

如果不了解更多关于您在 scriptlet 中实际执行的操作或原因,除了指手画脚之外,很难提供更多帮助。

诸如决定当前是否选择某个选项之类的事情几乎总是在自定义标签中处理,而不是手动处理——通常你不必在 all 考虑它,更不用说决定如何处理它自己。 (Struts 1 标签也是如此;您不必手动执行此操作。)

【讨论】:

  • 同意。我认为这里的一般原则是在使用 JSP 时更喜欢标记库而不是 scriptlet。无论是 JSTL,还是自定义标签,或者 .
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 2016-08-03
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多