表单中的部分代码如下:
<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)
请问是怎么回事啊?
麻烦说一下具体的解决办法!!!谢谢!!!
<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)
请问是怎么回事啊?
麻烦说一下具体的解决办法!!!谢谢!!!
<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"/>
试试
我试下面的也没有用!!!
<input type="text" value='<c:out value="${temp.quantity}"/>' name="bookQuantity"/>
<input type="hidden" value='<c:out value="${temp.item.id}"/>' name="bookID"/>