JSでのコールJavaメソッド

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(); // 更新の数 
    }

 

おすすめ

転載: www.cnblogs.com/qilin20/p/12459232.html