更新时间:2021-06-09 09:56:50 来源:极悦 浏览874次
在JavaScript中想要调用Java的方法,通过JavaScript访问servlet,再通过servlet调用Java某个类的方法。
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:;"><i class="fa fa-trash-o"></i></a>
</th>
<th class="product_thumb">图片</th>
<th class="product_name">名称</th>
<th class="product-price">价格</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() %>">
<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() %>"><%=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代码
// 点击全部删除
deleteAll.onclick = function () {
if (selectedTotal.innerHTML != 0) {
var con = confirm('确定删除所选商品吗?'); //弹出确认框
if (con) {
var shoes_id = '';
for (var i = 0; i < tr.length; i++) {
// 如果被选中,就删除相应的行
if (tr[i].getElementsByTagName('input')[0].checked) {
shoes_id = shoes_id + tr[i].cells[0].innerHTML + ',';
//tr[i].parentNode.removeChild(tr[i]); // 删除相应节点
//i--; //回退下标位置
}
}
alert(shoes_id);
window.location.href="ShopServlet?method=deleteFromCart&shoes_id="+shoes_id+"&user_id="+22;
alert("删除成功!");
}
} else {
alert('请选择商品!');
}
getTotal(); //更新总数
}
以上就是极悦小编介绍的"JavaScript调用Java的方法",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习