【问题标题】:How to get JSP scriptlet value in struts tag如何在struts标签中获取JSP scriptlet值
【发布时间】:2010-10-18 00:22:12
【问题描述】:

这是我的代码:

<% request.setAttribute("lcItem", "Hello"); %>

如果我执行以下操作,我将无法获得价值:

<s:property value="%{lcItem}" />
<s:property value="lcItem" />

有什么建议吗?

【问题讨论】:

    标签: java jsp struts


    【解决方案1】:

    这很好用..

    <%       
       request.setAttribute("lcItem", LeftContentItem);
    %>
    
    <s:property value="#request['lcItem']" />
    

    注意:根据我们使用的Scope,我们应该指定#request ..等

    【讨论】:

    • 啊哈,这很好。但是我不喜欢这个东西。它是如此不同,以至于您无法明智地猜测。事实上,我既不喜欢 Struts 也不喜欢 Struts 2。无论如何,至少它对你有用,我很高兴。
    • @AdeelAnsari 幸运的是,您不必猜测,因为有文档。
    • @Dave:这仅仅意味着它不够直观。这就是我真正的意思,这与我们过去对 EL/JSTL 所做的不同。
    • @AdeelAnsari 我猜,并非一切都与其他一切相同。 OGNL 带来了很多东西,值栈既是上下文又是栈。如果你使用它,这种灵活性是有代价的——尽管在这种情况下我认为没有理由不只使用 JSP EL。
    【解决方案2】:

    您可以通过 2 种方式编写代码

    1. &lt;% request.setAttribute("lcItem", "Hello"); %&gt;
    2. &lt;% pageContext.setAttribute("lcItem", "Hello"); %&gt;

    如果你想在 Struts2 组件中访问这些值,你可以使用 #attr. 作为前缀。

    例子

    &lt;s:property value="#attr.lcItem"&gt;

    注意:它适用于 request"pageContext"

    <s:property value="lcItem" /> will not work because "lcItem" is not available in the Value Stack.
    

    【讨论】:

      猜你喜欢
      • 2012-08-25
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 2023-03-13
      • 2014-05-20
      • 1970-01-01
      • 2016-01-03
      • 2011-11-09
      相关资源
      最近更新 更多