<s:iterator value="#request.all" id="product">
 <tr>
 <td><s:property value="#product.id"/></td>
 <td><s:property value="#product.name"/></td>
 <td><s:property value="#product.price"/></td>
 <td><a href="delete.action?id=<s:property value='#product.id'/>">删除</a></td>
 <td><a href="update.jsp?id=<s:property value='#product.id'/>">更新</a></td>
 </tr>
 </s:iterator>红色部分改成all试试

解决方案 »

  1.   

    你用的什么IDE? 可以在showAllAction.java里打断点吗?就打在List all=ps.queryAllProduct()。
    然后debug模式再跑一遍,watch对象all。
      

  2.   

       <!--定义showAll的Action-->
       <action name="showAllInfo" class="com.javaweb.action.ShowAllInfoAction">
       <result name="SUCCESS">/showAll.action</result>你这样写,先访问showAllInfo,成功后访问/showAll.action页面,可是配置文件里没有处理showAll.action的<action>标签,会404错误的.
    估计你是直接访问了showAllInfo.jsp,那样根本没经过action处理.
      

  3.   

    用的是eclipse,小白一个,测试尚在摸索中
      

  4.   

    这一块是从书上copy的,按说应该有,sorry,我也不是很清楚
      

  5.   

    这个没有问题,字段名和类型都一致,代码里的表对象也都产生了get set方法。
      

  6.   

    看看你 size--->  <s:property value="#all.size()"/>
      

  7.   

    请把你的hibernate配置弄出来看看。
      

  8.   

    你是不是直接访问showAllInfo.jsp的啊?那样就会出现你说的错误啊.
      

  9.   

    你把
    /showAll.action
    改成
    /showAllInfo.jsp试试,
    你原来那样访问不到jsp页面的.
      

  10.   

    你structs.xml配置的根据字符串返回资源是有错误的,当你根据success跳到另外一个Action不指定type时,默认是redirectAction,你返回的数据就没有了,你直接指定跳到/showAllInfo.jsp页面应该可以拿到数据。为什么又要跳转到一个Action了??你中间又没有别的业务逻辑处理,直接返回视图资源
      

  11.   

    如果没有指定result的type属性,默认值为dispatcher。