JavaScriptでは、あなたがJavaメソッドを呼び出したい、私は、サーブレットを呼び出すことで、JavaScriptでクラスの後、Javaメソッドをサーブレットを訪問しました。
HTMLコード
< テーブルID = "cartTable" > < THEAD > < TR > < 番目のクラス= "product_remove" > < ラベル> < 入力クラス= "チェックすべてのチェック" タイプ= "チェックボックス" /> &NBSP;&NBSP; 全选 </ ラベル> < クラス= "FL削除" ID = "DELETEALL" のhref = "javascriptの:;" > < I クラス=」> </ 目> < 番目のクラス= "product_thumb" >图片</ 目> < 番目のクラス= "PRODUCT_NAME" >名称</ 目> < 番目のクラス= "製品価格" >价格</ 目> < 番目のクラス= "product_quantity" >款式</ 目> </ TR > </ thead要素> < TBODY > < TR > <TDのクラス= "product_remove" > < 入力クラス= "チェック1つのチェック" タイプ= "チェックボックス" /> </ TD > < TD クラス= "product_thumb" > < A HREF = "ShopShoesDetails.jsp?shoes_id = <%= shoes.getShoes_id()%>」> < IMG SRC = "$ {pageContext.request.contextPath} / ShopServlet?方法= getShopsShoesImage&shoes_id = <%= shoes.getShoes_id()%>" ALT = "" > </ A > </ TD > < TD クラス= "PRODUCT_NAME" > < A HREF = "ShopShoesDetails.jsp?shoes_id = <%= shoes.getShoes_id()%>" > <%= shoes.getBrand()%> / <%= shoes.getSeries()%> / <%= shoes.getName()%> </ A > </ TD > < TD クラス= "製品価格" > <%= shoes.getPrice()%> </ TD > < TD クラス= "product_quantity"> <%=shoes.getSex()%> / <%= shoes.getSize()%> </ TD > </ TR > </ TBODY > </ テーブル>
ShopShoesDao.java
公共 ボイドdeleteFromCart(文字列shoes_id){ するSystem.out.println( "ShopShoesDao.deleteFromCart" )。 文字列[] shoes_ids = shoes_id.split( "" )。 接続の接続 = DBUtil.getConnection()。 PreparedStatementのPreparedStatementの = nullを。 試す{ ため(文字列:shoes_ids){ int型 ID = Integer.parseInt(列)。 文字列のSQL = "user_product_cartから削除shoes_id =?" ; PreparedStatementの =Connection.prepareStatement(SQL)。 preparedStatement.setInt( 1 、ID)。 preparedStatement.executeUpdate(); } } キャッチ(のSQLException E){ // TODO自動生成されたcatchブロック e.printStackTrace(); } 最後に{ DBUtil.close(のPreparedStatement)。 DBUtil.close(接続)。 } }
ShopServlet.java
保護された ボイドサービス(HttpServletRequestのリクエスト、HttpServletResponseの応答)スローServletExceptionがは、IOException { // TODO自動生成方法スタブ のSystem.out.println( "サービス" )。 request.setCharacterEncoding( "UTF-8" ); 文字列メソッド = request.getParameter(「方法」)。 System.out.println(方法) もし(method.equals( "addProduct" )){ addProduct(リクエスト、レスポンス)。 } それ以外の 場合(method.equals( "getShopsShoesImage" )){ しようと{ getShopsShoesImage(リクエスト、レスポンス)。 } キャッチ(のSQLException E){ // TODO自動生成キャッチブロック e.printStackTrace(); } } そう であれば(method.equals( "addToCart" )){ 試み{ addToCart(リクエスト、レスポンス)。 } キャッチ(のSQLException E){ // TODO自動生成キャッチブロック e.printStackTrace(); } } それ以外 の場合(method.equals( "deleteFromCart")){ 試み{ deleteFromCart(リクエスト、レスポンス)。 } キャッチ(のSQLException E){ // TODO自動生成キャッチブロック e.printStackTrace(); } } そう であれば(method.equals( "payFromCart" )){ 試み{ payFromCart(リクエスト、レスポンス)。 } キャッチ(のSQLException E){ // TODO自動生成キャッチブロック e.printStackTrace(); } } } プライベート ボイド deleteFromCart(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスローにIOException、のSQLException { // TODO自動生成方法スタブ のSystem.out.println( "deleteFromCartを" )。 request.setCharacterEncoding( "UTF-8" ); int型のuser_id = Integer.parseInt(request.getParameter( "user_idは" )); System.out.println(USER_ID)。 ストリングshoes_id = request.getParameter( "shoes_id" )。 System.out.println(shoes_id)。 ShopShoesDao shopShoesDao = 新しいShopShoesDao(); shopShoesDao.deleteFromCart(shoes_id)。 。でrequest.getSession()のsetAttribute( "shoes_id" 、shoes_id)。 response.sendRedirect(request.getContextPath() + "/ cart.jsp" )。 }
javascripコード
// すべて削除]をクリックします deleteAll.onclickを= 関数(){ IF(!selectedTotal.innerHTML = 0 ){ ヴァール CONを=( 'それを選択された商品を削除するにはOK?')を確認してください; // ポップアップ確認ボックス IF (CON){ VAR = shoes_id '' ; のための(VAR ; I <tr.length; I = 0 I ++ ){ // 選択された場合、対応する行を削除 IF(TR [I] .getElementsByTagName( 'INPUT')[0 ] .checkedを){ shoes_id = shoes_id TR + [I] .Cells [0] + .innerHTML '' ; //TR [I] .parentNode.removeChild(TR [ I]); // 削除ノード // i--; //標準のバックオフ位置 } } アラート(shoes_id); window.location.href?=「方法ShopServlet "=&shoes_id deleteFromCart = "+ shoes_id +" &のuser_id = + 22である。 (警告「正常に削除!" ); } } 他{ アラート( 'を選択してください!' ); } getTotal(); // 更新の数 }