首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Struts2 Action去JSP页面传值,部分数据丢失。是什么原因?

2013-03-28 
Struts2 Action往JSP页面传值,部分数据丢失。是什么原因??----【页面显示的就是这样。。也没有提示错误。 就是

Struts2 Action往JSP页面传值,部分数据丢失。是什么原因??


----【页面显示的就是这样。。也没有提示错误。 就是丢失数据。。。】
  
 名称:七匹狼秋季长袖时尚衬衫 
价格: 
单位:件 
折扣: 
简介: 
 
  

-------【这是jsp页面】------


 <s:iterator value="#request.productAttr" var="temp">
    <td><table width="30%" border="0">
      <tr>
        <td colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td rowspan="4"><img src="/img2/<s:property value="#temp.pPhoto"/>"></td>
        <td>名称:<s:property value="#temp.proName"/></td>
      </tr>
      <tr>
        <td>价格:<s:property value="#temp.pPrice"/></td>
      </tr>
      <tr>
        <td>单位:<s:property value="#temp.proUnit"/></td>
      </tr>
      <tr>
        <td>折扣:<s:property value="#temp.pCount"/></td>
      </tr>
      <tr>
        <td colspan="2">简介:<s:property value="#temp.pIntroduce"/></td>
      </tr>
    </table></td>
    </s:iterator>

------【这是action】------

public String showProduct(){

ProductDao dao=new ProductDao();
ArrayList<Product> al=dao.showProduct();
request.put("productAttr", al);
return "ok";

}


--------【这是业务逻辑】----

public ArrayList<Product> showProduct(){
ArrayList<Product> al=new ArrayList<Product>();
String sql="select * from product_table";
JDBCTool dbhelper = JDBCToolCreator.createJDBCTool();
ResultSet rs=dbhelper.search(sql);
try {
while(rs.next()){
Product pt=new Product();
pt.setProId(rs.getString(1));
pt.setPc1Id(rs.getString(2));
pt.setPc2Id(rs.getString(3));
    pt.setProName(rs.getString(4));
pt.setProUnit(rs.getString(5));
pt.setpPrice(rs.getString(6));
pt.setpCount(rs.getString(7));
pt.setpVender(rs.getString(8));
pt.setpIntroduce(rs.getString(9));
pt.setpDate(rs.getString(10));
pt.setpPhoto(rs.getString(11));

al.add(pt);
}



---------------这是实体类(get,set没粘贴。。都有)-----
private String proId;//商品号
private String pc1Id;//1类编号
private String pc2Id;//2类编号
private String proName;//商品名称
private String proUnit;//计量单位
private String pPrice;//单价
private String pCount;//折扣
private String pVender;//生产商
private String pIntroduce;//简介
private String pDate;//上线时间
private String pPhoto;//图片


[解决办法]
 <tr>         <td>价格:<s:property value="#temp.pPrice"/></td>       </tr>       <tr>         <td>单位:<s:property value="#temp.proUnit"/></td>       </tr>       <tr>         <td>折扣:<s:property value="#temp.pCount"/></td>       </tr>       <tr>         <td colspan="2">简介:<s:property value="#temp.pIntroduce"/></td> 
名称大小写错了,有些记不清了,如果bean第二个字母大写的话,jsp中第一个字母应该是大写,你试试,如果不行的话,把bean中的字段都写成pro*,然后jsp中可以写原名
[解决办法]
估计是bean建的不够规则
private String proName;//商品名称
private String proUnit;//计量单位
private String pPrice;//单价
商品名称和单位可以出来,但是价格确丢失了
建议将类似pPrice;//单价属性修改下,如proPrice或者干脆price,然后试试

热点排行