我在做上传成功之后 想做1个更新按钮 可以 更新图片的 当我没更新图片时候 如何获得默认存在的图片路径
我听说可以 用 一个 type="hidden"的input 接收到  问题是 action如何给 我没有更新的图片赋值

解决方案 »

  1.   

    我意思是  假设你在做一个后台管理 有很多个字段 包括图片上传 现在我修改了一个字段 我不修改图片 直接点击action 提示我 没有图片 空指针异常 我想从数据库取得他的图片路径作为默认的路径(假如没修改过图片)
      

  2.   

    正常的做法是:图片不进数据库,而把图片在webapp中的路径保存进数据库,这样,你读出来的就是图片路径。用这个路径,你的Img标签也就能正确读到图片。假如你不修改图片,你的input file标签就不应该有。input file应该和其他的空间分开处理,而不是一起处理。如果一定要一起处理。那就把刚才读出来的路径放入隐藏字段。在服务器端判断是否为空,如果为空,则用hidden字段的值就ok了。而且这种情况无需上传文件。这样说不知lz听懂了没有。问题不在于action如何给,而在于你后台的逻辑怎么写。
      

  3.   

    我明白你的意思 我上面就是说  按你的意思说就是 一起处理 然后 有个隐藏字段 我也设置了 而且value 是获得图片是webapp中的路径 但是我在action处理的时候判断 就不行喇  真郁闷  哈哈 谢谢你的回答啊 我贴我的代码出来吧:
    html :
    <td>大图片:</td>
         <td><input type="hidden" name="bimgDefault" value="<%=bookInfo.getBigImg() %>"/><input name="img" size="10" type="file"  />图片上传<div style="color: red">${requestScope.typeError }</div></td>
         </tr>
         <tr>
         <td>小图片:</td>
         <td><input type="hidden" name="simgDefault" value="<%=bookInfo.getSmallImg() %>"/><input name="img" size="10" type="file"   />图片上传<div style="color: red">${requestScope.typeError }</td>
         </tr>action: 
    public class BookInfoAction extends ActionSupport implements
    ModelDriven<BookInfoVO> {
    if (bookInfoVO.getImg()[0].equals("")) {
    bookInfo.setBigImg(bookInfoVO.getBimgDefault());
    } else {
    bookInfo.setBigImg(bookInfoVO.getImg()[0].toString());
    }
    // System.out.println("big:" + bookInfoVO.getImg()[0].toString());
    if (bookInfoVO.getImg()[1].equals("")) {
    bookInfo.setBigImg(bookInfoVO.getSimgDefault());
    } else {
    bookInfo.setSmallImg(bookInfoVO.getImg()[1].toString());
    }
    }
    我这样的action 写有错误么 
    我的那个 img 是 一个 file数组来的 谢谢