JavaScript中如何調(diào)用Java方法
在JavaScript中想要調(diào)用Java的方法,我通過JavaScript訪問servlet,再通過servlet調(diào)用Java某個(gè)類的方法。
HTML代碼
<table id="cartTable"> <thead> <tr> <th class="product_remove"> <label> <input class="check-all check" type="checkbox"/> 全選 </label> <a class="fl delete" id="deleteAll" href="javascript:;" rel="external nofollow" ><i class="fa fa-trash-o"></i></a> </th> <th class="product_thumb">圖片</th> <th class="product_name">名稱</th> <th class="product-price">價(jià)格</th> <th class="product_quantity">款式</th> </tr> </thead> <tbody> <tr> <td class="product_remove"> <input class="check-one check" type="checkbox"/> </td> <td class="product_thumb"> <a href="ShopShoesDetails.jsp?shoes_id=<%=shoes.getShoes_id() %>" rel="external nofollow" rel="external nofollow" > <img src="${pageContext.request.contextPath}/ShopServlet?method=getShopsShoesImage&shoes_id=<%=shoes.getShoes_id() %>" alt=""> </a> </td> <td class="product_name"> <a href="ShopShoesDetails.jsp?shoes_id=<%=shoes.getShoes_id() %>" rel="external nofollow" rel="external nofollow" ><%=shoes.getBrand() %>/<%=shoes.getSeries() %>/<%=shoes.getName() %> </a> </td> <td class="product-price"><%=shoes.getPrice() %></td> <td class="product_quantity"><%=shoes.getSex() %>/<%=shoes.getSize() %></td> </tr> </tbody> </table>
ShopShoesDao.java
public void deleteFromCart(String shoes_id) { System.out.println("ShopShoesDao.deleteFromCart"); String[] shoes_ids = shoes_id.split(","); Connection connection = DBUtil.getConnection(); PreparedStatement preparedStatement = null; try { for (String string : shoes_ids) { int id = Integer.parseInt(string); String sql = "delete from user_product_cart where shoes_id = ?"; preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1, id); preparedStatement.executeUpdate(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(preparedStatement); DBUtil.close(connection); } }
ShopServlet.java
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("service"); request.setCharacterEncoding("UTF-8"); String method=request.getParameter("method"); System.out.println(method); if(method.equals("addProduct")) { addProduct(request,response); }else if(method.equals("getShopsShoesImage")) { try { getShopsShoesImage(request,response); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else if(method.equals("addToCart")) { try { addToCart(request, response); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else if(method.equals("deleteFromCart")) { try { deleteFromCart(request, response); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else if(method.equals("payFromCart")) { try { payFromCart(request, response); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } private void deleteFromCart(HttpServletRequest request, HttpServletResponse response) throws IOException, SQLException { // TODO Auto-generated method stub System.out.println("deleteFromCart"); request.setCharacterEncoding("UTF-8"); int user_id= Integer.parseInt(request.getParameter("user_id")); System.out.println(user_id); String shoes_id = request.getParameter("shoes_id"); System.out.println(shoes_id); ShopShoesDao shopShoesDao = new ShopShoesDao(); shopShoesDao.deleteFromCart(shoes_id); request.getSession().setAttribute("shoes_id", shoes_id); response.sendRedirect(request.getContextPath()+"/cart.jsp"); }
javascrip代碼
// 點(diǎn)擊全部刪除 deleteAll.onclick = function () { if (selectedTotal.innerHTML != 0) { var con = confirm('確定刪除所選商品嗎?'); //彈出確認(rèn)框 if (con) { var shoes_id = ''; for (var i = 0; i < tr.length; i++) { // 如果被選中,就刪除相應(yīng)的行 if (tr[i].getElementsByTagName('input')[0].checked) { shoes_id = shoes_id + tr[i].cells[0].innerHTML + ','; //tr[i].parentNode.removeChild(tr[i]); // 刪除相應(yīng)節(jié)點(diǎn) //i--; //回退下標(biāo)位置 } } alert(shoes_id); window.location.href="ShopServlet?method=deleteFromCart&shoes_id=" rel="external nofollow" +shoes_id+"&user_id="+22; alert("刪除成功!"); } } else { alert('請選擇商品!'); } getTotal(); //更新總數(shù) }
以上就是JavaScript中如何調(diào)用Java方法的詳細(xì)內(nèi)容,更多關(guān)于js中調(diào)用Java方法的資料請關(guān)注腳本之家其它相關(guān)文章!
- java編程中實(shí)現(xiàn)調(diào)用js方法分析
- Js調(diào)用Java方法并互相傳參的簡單實(shí)例
- kettle中使用js調(diào)用java類的方法
- 在js文件中引入(調(diào)用)另一個(gè)js文件的三種方法
- JavaScript鏈?zhǔn)秸{(diào)用原理與實(shí)現(xiàn)方法詳解
- fastadmin中調(diào)用js的方法
- vue項(xiàng)目中在外部js文件中直接調(diào)用vue實(shí)例的方法比如說this
- VUE引入第三方j(luò)s包及調(diào)用方法講解
- C#后臺調(diào)用前臺JS函數(shù)方法
相關(guān)文章
JavaScript實(shí)現(xiàn)文本中間縮略的兩種方案
項(xiàng)目中經(jīng)常會遇到縮略展示文字的場景,即要求文字在一行不換行展示,超出自動展示...,常用的展示效果有兩種,文字中間縮略以及文字末尾縮略,本文將通過代碼示例給大家詳細(xì)的講一下這兩種方案,需要的朋友可以參考下2024-06-06uniapp-路由uni-simple-router安裝配置教程
專為uniapp打造的路由器,和uniapp深度集成,uniapp用到了很多vue的api,但在路由管理的功能相對于vue-router還是比較欠缺的,比如全局導(dǎo)航守衛(wèi),本文給大家講解uniapp-路由uni-simple-router相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2022-11-11微信小程序swiper組件實(shí)現(xiàn)抖音翻頁切換視頻功能的實(shí)例代碼
這篇文章主要介紹了微信小程序swiper組件實(shí)現(xiàn)抖音翻頁切換視頻功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06JS實(shí)現(xiàn)簡單的二維矩陣乘積運(yùn)算
這篇文章主要介紹了JS實(shí)現(xiàn)簡單的二維矩陣乘積運(yùn)算方法,涉及JavaScript基于數(shù)組操作實(shí)現(xiàn)矩陣運(yùn)算的功能,需要的朋友可以參考下2016-01-01微信小程序與webview?H5交互的方法(內(nèi)嵌H5跳轉(zhuǎn)原生頁面)
小程序webView中嵌套H5頁面,難免會遇到小程序與h5頁面進(jìn)行數(shù)據(jù)通信或交互的場景,下面這篇文章主要給大家介紹了關(guān)于微信小程序與webview?H5交互的相關(guān)資料,內(nèi)嵌H5跳轉(zhuǎn)原生頁面,需要的朋友可以參考下2022-11-11DeviceOne 讓你一見鐘情的App快速開發(fā)平臺
DeviceOne是一個(gè)非常先進(jìn)的App開發(fā)平臺,使用Javascript 構(gòu)建原生體驗(yàn)的移動應(yīng)用程序,DeviceOne主要關(guān)注外觀和體驗(yàn),以及和你的應(yīng)用程序的 UI 交互2016-02-02JavaScript實(shí)現(xiàn)移動端簽字功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)移動端簽字功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10JS實(shí)現(xiàn)根據(jù)URL批量下載文件并壓縮成zip文件
這篇文章主要為大家學(xué)習(xí)介紹了JS如何實(shí)現(xiàn)根據(jù)URL批量下載文件并壓縮成zip文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-08-08