【问题标题】:Struts <s:if tag does not evaluate while using information from gettersStruts <s:if 标签在使用来自 getter 的信息时不求值
【发布时间】:2013-06-07 23:30:23
【问题描述】:

尝试评估以下但似乎不起作用

  <s:set name="infoType" value='%{"info.aero.aeroType"}' />
  <s:if test='%{#infoType == "A"}'>
    <span> got it </span>
</s:if>

aeroType 的返回类型是在 Java 类中设置的 String,它返回字母“A”或“B”。如果 infoType 是 A,我需要进行一些计算。如何让这个工作?

【问题讨论】:

    标签: jsp struts2 ognl


    【解决方案1】:
    1. 使用 var 代替 namebecause it is deprecated

    2. General info on validating one character Strings(你已经在翻引号了,那么这部分是对的)

    3. 这是你真正的问题:你在&lt;s:set 周围加上双引号;这样你就告诉 OGNL 接受那个文字字符串,而不是从堆栈中读取一个对象;

    然后改变这个

    <s:set name="infoType" value='%{"info.aero.aeroType"}' />
    

    到这里

    <s:set var="infoType" value="%{info.aero.aeroType}" />
    

    它会起作用的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多