guomi2004
发贴: 1
积分: 0
|
于 2008-03-19 20:10
修改数量 页面:
<form action="/commerce/cart.do?method=update" method="get"> <table> <tr> <td>数量</td> </tr> <logic:iterate id="cartItem" scope="session" name="Sessio nContainer" property="cart.items"> <tr> <td><input type="text" name="qty_<bean:write name="cartItem" property="id"/>" value="<bean:write name="cartItem" property="quantity"/>"> </td> </tr> </logic:iterate> <tr> <td colspan="1" align="center"> <html:submit></html:submit> </td> </tr> </table> </form>
action:
public class GetItemDetailActions extends CommerceDispatchAction { public ActionForward update(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // TODO Auto-generated method stub updateQuantity(request); return mapping.findForward("success"); } private void updateQuantity(HttpServletRequest request){ SessionContainer sessionContainer=this.getSessionContainer(request); Enumeration enum1=request.getParameterNames(); while(enum1.hasMoreElements()){ String ids=(String)enum1.nextElement(); if(ids.startsWith("qty_")){ String qtyString =request.getParameter(ids.substring(4,ids.length())); sessionContainer.getCart().updateQuantity(Integer.parseInt(ids), Integer.parseInt(qtyString)); } } } }
struts-config。xml
<action path="/cart" scope="request" type="commerce.action.GetItemDetailActions" validate="false" parameter="method" > <forward name="success" path="/commerce/cart.jsp"></forward> </action>
异常: javax.servlet.ServletException: Request[/cart] does not contain handler parameter named 'method'. This may be caused by whitespace in the label text. org.apache.struts.actions.DispatchAction.unspecified(DispatchAction.java:222) org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:256) org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
|