表单中的部分代码如下:
    <c:forEach var="temp" items="${cart.items}">
      <tr bgcolor="#cccccc">
        <td align="center">
          <c:out value="${temp.item.title}">          </c:out>
        </td>
        <td align="center">
        <html:form action="/setQuantity.do" method="post" >
        <input type="text" value="${temp.quantity}" name="bookQuantity"/>
        <input type="hidden" value="${temp.item.id}" name="bookID"/>
        <input type="submit" value="更新" />
         </html:form>
        </td>
     </c:forEach>SetQuantityFromCartAction.java代码如下:
package mybook;import org.apache.struts.action.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SetQuantityFromCartAction
    extends Action {
  public ActionForward execute(ActionMapping mapping, ActionForm form,
                               HttpServletRequest request,
                               HttpServletResponse response) {
    BookCart cart=new BookCart();
    DynaActionForm f=(DynaActionForm)form;
   
    String bookQuantityOfString=(String)f.get("bookQuantity");
    int bookQuantity=Integer.parseInt(bookQuantityOfString);
    String bookID=(String)f.get("bookID");
    try{
      cart.setQuantity(bookID,bookQuantity);
      
    }catch(Exception e){}
    return (mapping.findForward("success"));
  }
}struts-config.xml中配置动态表单的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config>
  <form-beans>
    <form-bean name="setQuantityFromCart" type="org.apache.struts.action.DynaActionForm">
      <form-property name="bookQuantity" type="int" />
      <form-property name="bookID" type="java.lang.String" />
    </form-bean>
  </form-beans>
  <action-mappings>
        <action input="/showCart.jsp" name="setQuantityFromCart" path="/setQuantity" scope="session" type="mybook.SetQuantityFromCartAction">
      <forward name="success" path="/showCart.jsp" />
    </action>
  </action-mappings>
  <message-resources parameter="ApplicationResources" />
</struts-config>编译时出现如下异常:
javax.servlet.ServletException: Exception creating bean of class org.apache.struts.action.DynaActionForm: {1}
 at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:495)
 at org.apache.jsp.showCart_jsp._jspService(showCart_jsp.java:231)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
 
请问是怎么回事啊?
麻烦说一下具体的解决办法!!!谢谢!!!

解决方案 »

  1.   

    <input type="text" value="${temp.quantity}" name="bookQuantity"/>
    <input type="hidden" value="${temp.item.id}" name="bookID"/>
    把上面这两句改成:
    <input type="text" value="<c:out value="${temp.quantity}">" name="bookQuantity"/>
    <input type="hidden" value="<c:out value="${temp.item.id}">" name="bookID"/>
    试试
      

  2.   

    我试了你说的,还是没有用啊!!!
    我试下面的也没有用!!!
    <input type="text" value='<c:out value="${temp.quantity}"/>' name="bookQuantity"/>
    <input type="hidden" value='<c:out value="${temp.item.id}"/>' name="bookID"/>