if表达式中的if表达式

时间:2014-08-12 13:39:29

标签: jsp struts2

下面的代码有什么问题吗?无论两个变量是否为空,我总是在第一个if表达式中得到false。

<s:if test="%{!empty #property.propertyTypeZhcn || !empty #property.propertyAge}">
    <div id="mini_hosedetail_text">
        <s:if test="%{!empty #property.propertyTypeZhcn}">
            <p>propertyType:<s:property value="fullPropertyDetail.propertyTypeZhcn"/></p>
        </s:if>

        <s:if test="%{!empty #property.propertyAge }">
            <p>PropertyAge:<s:property value="fullPropertyDetail.propertyAge"/></p>
        </s:if>
    </div>
</s:if>

1 个答案:

答案 0 :(得分:0)

更新:我发现了我的错误:

  1. 在变量
  2. 之前不应该有#
  3. “Empty”是一个jsp标签,它在struts 2表达式中不起作用(至少不适合我)。
  4. 所以代码应该是,这对我有用。

    <s:if test="%{property.propertyTypeZhcn!= null || property.propertyAge != null}">
        <div id="mini_hosedetail_text">
            <s:if test="%{property.propertyTypeZhcn != null}">
                <p>propertyType:<s:property value="fullPropertyDetail.propertyTypeZhcn"/>   </p>
            </s:if>
    
            <s:if test="%{property.propertyAge != null}">
                <p>PropertyAge:<s:property value="fullPropertyDetail.propertyAge"/></p>
            </s:if>
        </div>
    </s:if>