这样写:
<s:set name="vis" value="%{visible}"/>
<s:if test="#vis == 0"> 

解决方案 »

  1.   

    这样我也试过,就是没得值.我重启下机器看有反应没. java.lang.NullPointerException
      

  2.   

    把你传list和visible的action代码贴出来看看
      

  3.   

    该是你list和visible的值根本没传过来
      

  4.   

    在什么地方报的java.lang.NullPointerException?代码贴一下
      

  5.   

    你有s:property 试试看有没有值  或者后台debug跑一下有没有把值传过来
      

  6.   

    visible绝对有值,${visible}没有半点问题.正常显示Action
    /*
     * 查询所有产品
     */
    public String query() throws Exception {

    list = productManagerService.query();
    return "success";
    }struts.xml <!-- 产品管理 -->
    <action name="productmgr" class="com.shop.action.ProductManagerAction" method="addProduct">
        <interceptor-ref name ="fileUploadStack" />
                 <result>/admin/product/listProduct.jsp</result>
                 <result name="print">/admin/product/listProduct.jsp</result>
    </action>DaoImplpublic List query() throws Exception {
    query = this.getSession().createQuery("from Product");
    return query.list();
    }数据能取出来.没有问题。
      

  7.   

    你list可写了get set方法?
    再个你传到页面的该是List<Product>,
    那么你list = productManagerService.query(); 这里面的list要这样定义的List<Product> list
      

  8.   

    我想能用${visible}获到值,那个就不至于没有set get方法.确实我有也set get方法.这个与泛型没有关系.
      

  9.   

    你先用<s:property value="visible"/>打印,如果打印出来,就说明传过来,如果打印不出来,就说明没传过来,
    然后再看看是不是if的问题。另外如果用标签,就得有get方法了。还有建议判断前加个null==visible
      

  10.   

    <s:if test='visible.equals("0")'>
    试试
    为什么你visible前面要加个#
    它是变量吗?
      

  11.   

    <s:if test="${visible == 0}"> ...
      

  12.   

    呵呵,楼主的写法是有问题的,
    建议楼主去看看s:iterator的用法吧,
    它就是列出来所有list,这里,你s:iterator里面填充的内容格式应该是不对的,它首先有多少列,可以用td,th之类的先列出多少列,,然后用s:property来取值(或者是你设置的值)。在这个td里面可以先用s:if判断,然后输出你设定的值,或者是s:property来取值,你用上面的你的表达式来处理,它根本不知道你调用的这个list里面显示,所以这里显示是有问题的。
    主要是现在在家里,前两天电脑出问题,所以盘全部都格式化了,不然传两个例子给你看看,你就明白了。
    等等我去给你到我的网盘下两个李刚的,你一看就明白了
      

  13.   


    <%@taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head>
    <title>s:itertor标签测试</title>
    </head>
    <body>
    <table border="1" width="150">
    <s:iterator value="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}" id="name" status="st">
    <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
    <td><s:property value="name"/></td>
    </tr>
    </s:iterator>
    </table>
    <table border="1" width="100">
    <s:iterator value="#{'语文':80 , '数学':49}" id="score" status="st">
    <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
    <td><s:property value="key"/></td>
    <td><s:property value="value"/></td>
    </tr>
    </s:iterator>
    </table>
    </body>
    </html>
      

  14.   

    问题解决了!我的那种方式是可以了!问题主要出在一个我自己都想死的地方!其实这个错误我都犯了好几次了.用 "visible eq 0"就可以解决问题了.list里面的肯定是对象啊!==是肯定不行的