Struts2中,制作购物车时,如何编写购物数量的下拉代码?

linjiangque 2011-07-17 10:06:39
偶是新手,刚跟着老师做了购物车,然后想修改时遇到了麻烦。。。

购物车的JSP文件代码是这样的
<s:iterator var="cart" value="clist" status="i">
<tr>
<td><s:property value="#i.index+1"/></td>
<td><s:property value="#cart.bookname"/></td>
<td><s:property value="#cart.price"/></td>
<td><s:property value="#cart.number"/></td>
<td><s:property value="#cart.price*#cart.number"/></td>
<td colspan="2" height="80"><input type="button" value="删除" onclick="navigate('Cart.do?act=del&bid=<s:property value="#cart.bid"/>');"/></td>
</tr>
</s:iterator>
————————————————————————————————————————
这是删除的代码
private String delBook()throws Exception{
String url="del";
String bid=request.getParameter("bid");
for(CartEntity c:clist){
if(bid.equals(""+c.getBid())){

clist.remove(c);
break;
}
}
this.setClist(clist);
return url;
}
——————————————————————————————————
问题1:这样在页面中点删除的话,有几本就删除几本了,而我想让这个数字变得可以选择,该怎么修改????????
———————————————————————————————————
问题2:另外想把一些购书信息导入数据库,下面代码有什么问题吗?一直都成功不了


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");//这个是为了在注册的时候汉字输入有效
PrintWriter out = response.getWriter();
int dataclick=new Integer(request.getParameter("number"));
int datadel=new Integer(request.getParameter("bid"));
String datacol=request.getParameter("bookname");
Date today=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
DataEntity de=new DataEntity();
de.setDataclick(dataclick);
de.setDataclick(datadel);
de.setDatacol(datacol);
out.flush();
out.close();
}
——————————————————————————————————————
求高手解答!!!!!
...全文
194 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
linjiangque 2011-07-18
  • 打赏
  • 举报
回复
俺是新手,努力实践中。。。-_-|||
是想模拟来着,只是效果不佳,嗯,继续努力!
淫生杯具 2011-07-18
  • 打赏
  • 举报
回复
...修改商品数量,可以参照京东等购物网啊,给个可修改数量的input不就行了么,
linjiangque 2011-07-18
  • 打赏
  • 举报
回复
这是添加图书时的代码:
private String addBook() throws Exception {
String url = null;
String bid = request.getParameter("bid");
int uid = 1;
int bnumber = 1;
boolean found=true;
for(CartEntity c:clist){
if(bid.equals(""+c.getBid())){
found=false;
c.setNumber(c.getNumber()+1);
}
}
if(found){
BookEntity be = new BookEntity();
BookService bs = new BookService();
be = bs.getDetail(bid);
CartEntity ce = new CartEntity();
ce.setBid(be.getBookid());
ce.setBookname(be.getBookname());
ce.setNumber(bnumber);
ce.setPrice(be.getBookprice());
ce.setUid(uid);
this.clist.add(ce);
}

request.getSession().setAttribute("cart", clist);
url = "add";
return url;
}
——————————————————————————————
当买同一本书会增加数量不会产生3条数据的,然后,我现在在数量上下功夫,一直达不成目的。。。
linjiangque 2011-07-18
  • 打赏
  • 举报
回复
对的,我买的是同一本,然后数量上有3这样的
awusoft 2011-07-18
  • 打赏
  • 举报
回复
买三本,你想删除一本?这叫删除吗?这不是将数量变成2吗?还是你买同一本,数量是3的话,就有三条数据?
HeiBoyYang 2011-07-18
  • 打赏
  • 举报
回复
默认的无参数构造方法,肯定向数据库保存数据保存不了,结贴吧,呵呵
linjiangque 2011-07-18
  • 打赏
  • 举报
回复
嗯嗯,问题1你说的我回去试试,灰常感谢~~~
linjiangque 2011-07-18
  • 打赏
  • 举报
回复
还有对于问题2的解答,其实我的DataEntity方法没有定义这个构造方法呢,是默认的无参数构造方法。。。
HeiBoyYang 2011-07-18
  • 打赏
  • 举报
回复
嗯,明白。最好的方法就是在你表中建一个count字段 代表书的数目 页面取count字段
linjiangque 2011-07-18
  • 打赏
  • 举报
回复
问题1就是说比如我买了3本书,而我只想买两本。现在的程序点删除就3本全删了,我想要的结果是只删1本,想要做个下拉列表选择删除的数目。
呃,我这样说明白了吗?
HeiBoyYang 2011-07-17
  • 打赏
  • 举报
回复
DataEntity de=new DataEntity(dataclick,datadel,datacol,sdf.format(today));
HeiBoyYang 2011-07-17
  • 打赏
  • 举报
回复

问题一:
没看懂你说啥
问题二:
DataEntity de=new DataEntity();
改成
DataEntity de=new DataEntity(dataclick,datadel,datacol,df.format(today));

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧