【问题标题】:Combining static text and EL expression for another EL expression为另一个 EL 表达式组合静态文本和 EL 表达式
【发布时间】:2013-03-26 11:58:20
【问题描述】:

所以我检查了其他相同的问题,但它们并不完全相同,或者我的情况的答案不同。这是我所拥有的: 在服务器上我设置了一个属性,

request.getSession().setAttribute(tableField.getSiglaId()+"_rowSize",new Integer(tableSize));

并且在jsp文件中我试图获取这个属性值,但是由于你不能嵌套el表达式,所以我使用核心标签库来设置一个新变量:

<c:set var="trueRowSize" value="${field.siglaId}_rowSize" />

键入 ${trueRowSize} 将给出输出“timers_rowSize”。但我想获得具有上述名称的属性。如果我键入 ${timers_rowSize},它将给出我想要的正确值。

使用:

 ${requestScope[trueRowSize]} 

似乎也没有工作。

【问题讨论】:

    标签: jsp el


    【解决方案1】:

    您将属性放入会话中:

    request.getSession().setAttribute(...);
    

    所以你不会在 requestScope 中找到它,而是在 sessionScope 中:

    ${sessionScope[trueRowSize]} 
    

    【讨论】:

    • 谢谢,我只是在不使用 .getSession 的情况下进行测试,但由于某种原因,该属性返回为空。
    【解决方案2】:

    实际上你可以嵌套表达式。嗯,有点。 c:set 标签可以从自身的主体中获取它的值,所以你可以有如下的东西:

    <c:set var="trueRowSizeText">
      My true row size is: <c:out value='request.getSession().setAttribute(tableField.getSiglaId()+"_rowSize",new Integer(tableSize));'/>
    </c:set>
    

    也看看这个类似的问题 - Nested expression in JSP/JSTL

    【讨论】:

      猜你喜欢
      • 2013-03-13
      • 2013-04-20
      • 1970-01-01
      • 1970-01-01
      • 2017-07-18
      • 2013-03-24
      • 1970-01-01
      • 2012-03-01
      • 2011-09-05
      相关资源
      最近更新 更多