【问题标题】:JSTL setting variable valuesJSTL 设置变量值
【发布时间】:2013-04-19 15:13:57
【问题描述】:

我对 JSTL 很陌生,但我真的很困惑为什么这会返回一个值:

<c:set var="childPage" value="<%= resourceResolver.resolve(properties.get(\"childPage\", "")).adaptTo(Users.class)%>" /></c:set>

这会返回 null 吗?

<c:set var="childPage"><%= resourceResolver.resolve(properties.get("childPage", "")).adaptTo(Users.class) %></c:set>

非常感谢任何帮助。

【问题讨论】:

  • 第一个是否返回预期值? clildPage 之后的第二个参数中的双引号不会被转义。这不是一个问题,但它可以编译吗?
  • 你应该看看c:sethere的文档。
  • @SotiriosDelimanolis:文档并不反对 Delmon Young 试图做的事情。 “JSTL 标签的值也可以在正文中指定。”阅读更多:javarevisited.blogspot.com/2012/02/…
  • 感谢@SotiriosDelimanolis,所以知道为什么在正文中设置值对我不起作用
  • @DelmonYoung 我会请您尝试将&lt;%= resourceResolver.resolve(properties.get("childPage", "")).adaptTo(Users.class) %&gt; 部分放在&lt;c:set&gt; 之外并检查它在jsp 中打印的内容

标签: java performance jstl


【解决方案1】:

为什么不这样做:

pageContext.setAttribute("childPage", 
    resourceResolver.resolve(properties.get("childPage", "")).adaptTo(Users.class)
);

然后您将可以访问页面内的${childPage}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 2015-06-13
    • 1970-01-01
    相关资源
    最近更新 更多