Rumah  >  Artikel  >  hujung hadapan web  >  web开发jsp+java MVC 关于form的一个细节问题_html/css_WEB-ITnose

web开发jsp+java MVC 关于form的一个细节问题_html/css_WEB-ITnose

WBOY
WBOYasal
2016-06-24 11:43:38903semak imbas

这是一个订单展示然后有一个按钮取消订单的
这个链接按钮应该是放在form里
但是因为我的订单是从数据库里调的
不知道有多少个订单
所以form也应该是动态生成的
像我这样写可以 只用了一个form 一个订单
要是把form放到循环里就没用了
就是下面这样
ReserveList里面已经存好了多个订单对象

for(int i=0;i< ReserveList.size();i++) {out.println("<form name='form7'action='/g0103/servlet/servBDReserveCancel?rnum="+ReserveList.get(0).getReserveNum()+"' method='post'><a href='javascript:form"+(i+7)+".submit()' class='btn_buy' >取消</a></form>");}

该怎么办???
想了好久都没有办法。。。求助


完整代码
package serv.BD;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.BD.daoBDReserve;import dao.BD.daoBDReserveDetail;import dao.DT.daoDTRoomType;import vo.BD.voBDReserve;import vo.BD.voBDReserveDetail;import vo.DT.voDTRoomType;@SuppressWarnings("serial")public class servBDReserveShow extends HttpServlet {	public servBDReserveShow() {		super();	}	public void destroy() {		super.destroy(); 	}	public void doPost(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {				response.setContentType("text/html;charset==utf-8");		request.setCharacterEncoding("gb2312");		response.setCharacterEncoding("utf-8");		PrintWriter out = response.getWriter();		ArrayList<voBDReserve> ReserveList=new ArrayList<voBDReserve>();			daoBDReserve daoBDReserve = new daoBDReserve();		daoBDReserveDetail daoBDReserveDetail = new daoBDReserveDetail();        String membernum=request.getParameter("mnum");         ReserveList=daoBDReserve.showReserve(membernum);         if(membernum!=null){	        				out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");			out.println("<HTML>");			out.println("<head>");			out.println("<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />");			out.println("<title>Reserve</title>");			out.println("<link href='../ky/css/style.css' rel='stylesheet' type='text/css' media='all' />");			out.println("<link href='../ky/css/font.css' rel='stylesheet' type='text/css'>");				out.println("<link href='../ky/css/new.css' rel='stylesheet' type='text/css' media='all' />");			out.println("</head>");			out.println("<body>");			out.println("<div class='header'>");			out.println("<div class='header-left-w'>");			out.println("<div class='logo'>");			out.println("<a href='../ky/index.jsp?mnum="+membernum+"'><img  src='../ky/images/logo.png' alt="web开发jsp+java MVC 关于form的一个细节问题_html/css_WEB-ITnose" ></a>");			out.println("</div>");			out.println("<div class='top-nav'>");			out.println("<ul >");			out.println("<li><a href='../ky/index.jsp?mnum="+membernum+"' >主页</a></li>");			out.println("<li><a href='../ky/intro.jsp?mnum="+membernum+"' class='black' > 简介</a></li>");				out.println("<li><form name='form1' action='/g0103/servlet/servDTRoomTypeShow?mnum="+membernum+"' method='post'><a href='javascript:form1.submit()' class='black1'> 预定</a></form></li>");			out.println("<li  class='active' ><form name='form2' action='/g0103/servlet/servBDReserveShow?mnum="+membernum+"' method='post'><a href='javascript:form2.submit()' class='black1'> 预定信息</a></form></li>");			out.println("<li><form name='form3' action='/g0103/servlet/servBEMemberShow?mnum="+membernum+"' method='post'><a href='javascript:form3.submit()' class='black1'> 会员信息</a></form></li>");			out.println("<li><a href='../ky/login.jsp' class='black4' > 登录</a></li>");			out.println("</ul>");			out.println("</div>");					out.println("</div>");					out.println("<div class='header-top'>");			out.println("<div class='logo-in'>");			out.println("<a href='../ky/index.jsp?mnum="+membernum+"'><img  src=../ky/images/logo.png alt="web开发jsp+java MVC 关于form的一个细节问题_html/css_WEB-ITnose" ></a>");			out.println("</div>");			out.println("<div class='top-nav-in'>");			out.println("<span class='menu'><img  src='../ky/images/menu.png' alt="web开发jsp+java MVC 关于form的一个细节问题_html/css_WEB-ITnose" > </span>");			out.println("<ul >");			out.println("<li><a href='../ky/index.jsp?mnum="+membernum+"' >主页</a></li>");			out.println("<li><a href='../ky/intro.jsp?mnum="+membernum+"' class='black' > 简介</a></li>");				out.println("<li><form name='form4' action='/g0103/servlet/servDTRoomTypeShow?mnum="+membernum+"' method='post'><a href='javascript:form4.submit()' class='black1'> 预定</a></form></li>");			out.println("<li class='active' ><form name='form5' action='/g0103/servlet/servBDReserveShow?mnum="+membernum+"' method='post'><a href='javascript:form5.submit()' class='black1'> 预定信息</a></form></li>");			out.println("<li><form name='form6' action='/g0103/servlet/servBEMemberShow?mnum="+membernum+"' method='post'><a href='javascript:form6.submit()' class='black1'> 会员信息</a></form></li>");			out.println("<li><a href='../ky/login.jsp?mnum="+membernum+"' class='black4' > 登录</a></li>");									out.println("<form name='form7'action='/g0103/servlet/servBDReserveCancel?rnum="+ReserveList.get(0).getReserveNum()+"' method='post'></form>");						out.println("</ul>");			out.println("<script>");			out.println("$('span.menu').click(function(){");			out.println("$('.top-nav-in ul').slideToggle(500, function(){");			out.println("});");			out.println("});");			out.println("</script>");			out.println("</div>");			out.println("<div class='clear'> </div>");						out.println("</div>");									for(int i=0;i< ReserveList.size();i++) {				voBDReserve voBDReserve0 = new voBDReserve();				voBDReserve0=ReserveList.get(i);					voBDReserveDetail voBDReserveDetail0 = new voBDReserveDetail();									voBDReserveDetail0=daoBDReserveDetail.showReserveDetail(voBDReserve0.getReserveNum());				voDTRoomType voRoomType=new voDTRoomType();				daoDTRoomType daoRoomType=new daoDTRoomType();				voRoomType=daoRoomType.finDTRoomType(voBDReserveDetail0.getTypeNum());								out.println("<div class='content'>");				out.println("<div class='work'>");				out.println("<div class='htl_room_list_box'>");				out.println("<ul class='htl_room_list'>");							 				out.println("<div class='htl_room_info'>");				out.println("<h4>订单"+(i+1)+"</h4>");				out.println("<p class='info'><span class='divide'>|</span>订单号:"+voBDReserve0.getReserveNum()+"</p>");				out.println(" <table class='htl_room_tb'>");				out.println("<tbody>");				out.println("<tr>");				out.println("<th></th>");				out.println("<th>订单状态</th>");				out.println("<th>入住时间</th>");				out.println("<th>入住天数</th>");				out.println("<th>房间类型</th>");				out.println("<th>总价<strong></strong></th>");				out.println("<th class='th_room_booking'></th>");				out.println("</tr>");										 				out.println("<tr class='J_needHidePrice'> ");				out.println("<td>明细</span></td>");				out.println("<td>"+voBDReserveDetail0.getResstateNum()+"</td>");				out.println("<td>"+voBDReserveDetail0.getCheckInTime()+"</td>");								out.println("<td>"+voBDReserveDetail0.getStayDays()+"</td>");				out.println("<td>"+voRoomType.getTypeName()+"</span></td>");				out.println("<td>"+voBDReserve0.getFontMoney()+"元</span></td>");				out.println("<td>");				out.println("<a href='javascript:form"+(i+7)+".submit()' class='btn_buy' >取消</a>");				out.println("</td>");				out.println("</tr>");				out.println("</tbody>");				out.println("</table>");				out.println("</div>");								out.println("</ul>"); 				out.println(" ");				out.println("</div>");				out.println("</div>");				out.println("</div>");				out.println("</div>");  						out.println("</body>");				out.println("</html>");			}		} 	}        }


回复讨论(解决方案)

你应该到JavaEE模块里去问这个问题,移步  http://bbs.csdn.net/forums/J2EE。
另外,你都说了是 MVC, view和model分离:
页面HTML内容应该在JSP中写,
在servlet中把 ReserveList对象传过去用EL、JSTL展示即可。

至于你遇到的问题,你可以使用Ajax,而不直接使用Form提交表单的方式;
像一般的列表页,每个行(item)都有个删除的按钮,点击删除按钮,
就通过Ajax把这个item的ID传到服务器进行删除,然后反馈等等。

你把每个订单都用 

包裹起来,无非就是想和服务器(servlet)进行交换,
把该订单的ID传给服务器进行删除;
和服务器进行交换的方式一般有两种:form表单提交、Ajax。
form表单提交一般用在点击“提交”后会跳转页面或刷新页面的情况;
Ajax一般用在不跳转的情况下(整个页面大体不变的情况下)提交数据给服务器。
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn