ホームページ > ウェブフロントエンド > htmlチュートリアル > Web開発 jsp+java MVC form_html/css_WEB-ITnoseに関する詳しい質問

Web開発 jsp+java MVC form_html/css_WEB-ITnoseに関する詳しい質問

WBOY
リリース: 2016-06-24 11:43:38
オリジナル
921 人が閲覧しました

これは注文の表示で、その後に注文をキャンセルするボタンがあります
このリンク ボタンはフォームに配置する必要があります
ただし、注文はデータベースから転送されるため
注文が何件あるかわかりません
フォームも動的に生成されるべきです
私のように書いて、フォームとオーダーを1つだけ使うこともできます
フォームをループに入れると役に立たなくなります
こんな感じです
ReserveListには複数のorderオブジェクトが格納されています

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'></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></a>");			out.println("</div>");			out.println("<div class='top-nav-in'>");			out.println("<span class='menu'><img src='../ky/images/menu.png'> </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 であり、ビューとモデルが分離されていると述べました:
ページの HTML コンテンツは JSP で記述する必要があります。
サーブレットで ReserveList オブジェクトを渡し、EL または JSTL を使用して表示するだけです。

あなたが遭遇した問題については、フォームを直接使用する代わりに Ajax を使用してフォームを送信することができます。
一般的なリスト ページと同様に、各行 (項目) に削除ボタンがあり、削除ボタンをクリックして、
項目 ID を渡します。削除のために Ajax 経由でサーバーに送信し、フィードバックなどを行います。

各注文を

でラップする場合は、それをサーバー (サーブレット) と交換するだけです。
削除するためにサーバーに注文 ID を渡します。
サーバーとの交換には、通常 2 つの方法があります。フォームフォーム送信、Ajax。
フォーム送信は通常、[送信] をクリックしてページにジャンプするか、ページを更新する場合に使用されます。
Ajax は通常、ジャンプせずにサーバーにデータを送信するために使用されます (ページ全体がほぼ変更されていない場合)。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート