【问题标题】:How to use JSTL with Struts2 or with Spring [closed]如何在 Struts2 或 Spring 中使用 JSTL [关闭]
【发布时间】:2013-06-02 04:51:04
【问题描述】:

我见过 JSTL 有很多类似的功能

fn:contains()   
fn:containsIgnoreCase() 
fn:endsWith()   
fn:escapeXml()  
fn:indexOf()    
fn:join()   
fn:length() 
fn:replace()    
fn:split()  
fn:startsWith() 
fn:substring()  
fn:substringAfter() 
fn:substringBefore()    
fn:toLowerCase()    
fn:toUpperCase()    
fn:trim()

虽然在 Struts2 中我们没有这样的 UI 功能。因此,将 JSTL 与 Struts2 集成可以利用这些功能。 但我不知道这样做是否是一个好习惯。

【问题讨论】:

  • 戴夫最直接地回答了这个问题。此外,您确实在所有 struts2 标记中都可以轻松使用上面列出的所有功能。这是因为 EL 是 OGNL,它允许您访问相关对象的所有方法,因此当您使用 String 时,您可以访问 String 的所有方法(或任何其他类型)。如果您不使用字符串,您当然可以调用 toString()。你真的应该看看 OGNL 能做什么:commons.apache.org/proper/commons-ognl/language-guide.html 如果使用 Struts2,你至少应该知道它存在。

标签: spring struts2 jstl


【解决方案1】:

没有理由在 S2 应用程序中使用 JSTL,但也可能没有任何理由使用它。

S2 响应包装器提供对值堆栈的 JSP EL 访问,因此访问操作属性不是问题。 OGNL 可能相对较慢,但它也比 JSP EL 强大。然而,这种权力是否属于视图层是有争议的,并且可能会影响您的决定。

使用任何 taglib 提供你需要的功能,认识到无论你去哪个方向都有权衡。 OGNL 的大部分安全问题已经解决,AFAIK。

【讨论】:

  • 可能这不是一个答案。
  • @RomanC 当然是;问题是这是一个好还是坏的做法,它都不是,是否有任何缺点,没有。这更多是为了反击您回答中的虚假信息。
  • 你在说什么虚假信息?来自 Apache 和 SpringSource 站点的所有信息。其他一切都是恕我直言,我自己练习过。
  • @RomanC 你说在 struts 2 中使用 JSTL 是不好的做法的部分。告诉我说不使用 JSTL 的链接,我会编辑它。
  • 啊哈,明白了,你说这不是坏做法,但也不是好做法。我会说不是一个好的做法,而不是不是一个坏的做法,而不是说一个坏的做法。你觉得怎么样会更好?
【解决方案2】:

是的,您可以将 JSTL 与 Struts、Spring 和任何其他 Java EE 兼容框架一起使用。您会发现与(表达式语言)一起使用是有利的。如果您使用 Java EE,我强烈建议您这样做。

【讨论】:

  • 先生这样做有什么缺点吗.....
  • 不会有冲突,因为 JSTL 是一个直接的附加组件,我能想到的唯一缺点是保持库的更新。
  • @user2040500 JSTL 和 EL 将适用于视图端的任何 Java Web 应用程序(例如 jsp 文件)。添加像 Struts 2 或 Spring MVC(不仅仅是 Spring)这样的框架只会帮助您改进应用程序的开发(而不是使用普通的 servlet)。
猜你喜欢
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2013-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
相关资源
最近更新 更多