看下生成的  get/set 对不  private String  parent_id; public String getParent_id() {
return parent_id;
} public void setParent_id(String parent_id) {
this.parent_id = parent_id;
}

解决方案 »

  1.   

    你变量命名有问题,我以前遇到过好几次把parent_id改成parentId或者parentid
      

  2.   


    <s:iterator value="bases">
       <s:property value="parent_id"/>
       <s:if test="parent_id==3"/>
          <s:property value="base_name">
       </s:if>
    <s:iterator/>
      

  3.   

    <s:property value="base.parent_id"/>这样就可以了
      

  4.   

    3楼正解,你用<s:property >标签的时候ognl表达式会自动取当前对象的属性的。不用加base.
      

  5.   

    <s:iterator value="bases">
       <s:property value="parent_id"/>
       <s:if test="parent_id==3"/>
          <s:property value="base_name">
       </s:if>
    <s:iterator/>
    就这个
      

  6.   

    去掉#,在iterator代码块中,var变量是放在栈顶的,代码块结束,var变量就会弹出。把valueStack想象成一个堆栈。
      

  7.   

    如果List是放置在栈顶可以不加入#调用El都可以显示,说明属性错误不大,不然EL也不会显示了你看下是不是其他的问题
      

  8.   

    应该不是#的问题。很有可能是你的parent_id  这个属性的get/set方法没写,也可以把s:if test="parent_id eq 3"这样试试