public Map<String, Object> list(int gid) { try { Map<String, Object> map = service.selectAll(gid); map.put("code", 0); map.put("msg", "success"); System.out.println(map); return map; } catch (Exception e) { Map<String, Object> map = new HashMap<String, Object>(); map.put("code", 1); map.put("msg", "服务器繁忙"); map.put("data", "[]"); map.put("count", 0); e.printStackTrace(); return map; }
时间: 2024-01-03 13:06:01 浏览: 21
这段代码是一个Java方法,它接收一个参数gid作为输入,然后调用service的selectAll方法查询数据库,并将查询结果封装成一个Map返回。如果查询成功,返回的Map中会包含code、msg、data和count四个键值对,其中code为0表示成功,msg为"success"表示成功信息,data为查询结果的JSON数组形式,count为查询结果数量。如果查询失败,返回的Map中code为1表示失败,msg为"服务器繁忙"表示错误信息,data为"[]"表示空的查询结果,count为0。同时,如果出现异常,会打印异常信息并返回一个空的Map。
相关问题
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="com.test.bean.Goods,java.util.ArrayList" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>购物车</title> <style type="text/css"> table{border-collapse:collapse;} td{border:1px solid black; text-align:center; } #deal{margin-left:200px} </style> </head> <body> <jsp:useBean id="cart" class="com.test.bean.Cart" scope="session"></jsp:useBean> <%if(cart==null||cart.getGoodslist().size()==0) out.println("购物车空空如也.....<a href='index.jsp'>返回商品首页</a>"); else{ ArrayList<Goods>goodslist=cart.getGoodslist(); %> <div> 当前购物车共有<%=cart.getGcount() %>件物品 <a href='index.jsp'>返回商品首页</a><br> <table><tr> <td>序号</td> <td>商品号</td> <td>商品名称</td> <td>价格</td> <td>数量</td> <td>小计</td> <td>描述</td></tr> <%for(int i=0;i<goodslist.size();i++){ Goods goods=goodslist.get(i); %> <tr> <td><%=i+1 %></td> <td><%=goods.getGid() %></td> <td><%=goods.getGname() %></td> <td><%= String.format("%.2f", goods.getGprice())%></td> <td><%=goods.getGcount() %></td> <td><%=String.format("%.2f", goods.getGprice()*goods.getGcount()) %></td> <td><a href="<%=request.getContextPath() %>/Servlet/DelCartServlet?gid=<%=goods.getGid() %>">删除</a></td></tr> <%}%> </table><br> <span>总计</span><%=String.format("%.2f",cart.getTotal())%> <input type="button" id="deal" value="购买" /></input> </div> <%}%> <script type="text/javascript"> var dealbutton=document.getElementById("deal"); dealbutton.onclick=function(){ var cf=confirm("确定购买吗?"); if(cf==true){ window.location.href="Servlet/DealServlet"; } } </script> </body> </html> 修改删除功能,在购物车物品数量大于1的情况下点击“删除”时减少1个,等于1时删除此项商品;
要修改删除功能,在购物车物品数量大于1的情况下点击“删除”时,应该减少1个,等于1时则应该删除此项商品。具体实现的代码如下:
1. 在 DelCartServlet 中,判断商品数量是否大于1,若大于1,则减少1个;若等于1,则直接删除此商品。
```
int gid = Integer.parseInt(request.getParameter("gid"));
Cart cart = (Cart) request.getSession().getAttribute("cart");
ArrayList<Goods> goodslist = cart.getGoodslist();
for(int i = 0; i < goodslist.size(); i++) {
Goods goods = goodslist.get(i);
if(goods.getGid() == gid) {
if(goods.getGcount() > 1) {
goods.setGcount(goods.getGcount() - 1);
} else {
goodslist.remove(i);
}
break;
}
}
cart.setGoodslist(goodslist);
response.sendRedirect(request.getContextPath()+"/cart.jsp");
```
2. 在 cart.jsp 中,将删除按钮的链接修改为 DelCartServlet,并传递该商品的 gid 参数。
```
<td><a href="<%=request.getContextPath() %>/Servlet/DelCartServlet?gid=<%=goods.getGid() %>">删除</a></td>
```
为程序添加备注注意对齐#include <stdio.h> #include <stdlib.h> #include <string.h> #include <dirent.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <pwd.h> #include <grp.h> #include <time.h> void shell_ls_l(char *file,struct stat st) { char limi
/*
* 该函数实现了类似于Linux终端中的ls -l命令的功能,可以显示文件的详细信息。
* 参数file为要显示信息的文件名;
* 参数st为文件的stat结构体,包含了文件的各种信息,如权限、大小、修改时间等。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <pwd.h>
#include <grp.h>
#include <time.h>
void shell_ls_l(char *file,struct stat st) {
char limit[10]="rwxrwxrwx"; // 文件权限对应的字符
char perms[11]="----------"; // 文件权限字符串
int i=0;
int j=0;
int k=0;
struct passwd *user; // 用户信息结构体
struct group *group; // 用户组信息结构体
// 设置文件权限字符串
for(i=0;i<9;i++) {
if(st.st_mode & (1<<(8-i))) {
perms[i]=limit[i];
}
}
// 根据文件类型设置第一个字符
switch(st.st_mode & S_IFMT) {
case S_IFLNK:
perms[0]='l';
break;
case S_IFDIR:
perms[0]='d';
break;
case S_IFCHR:
perms[0]='c';
break;
case S_IFBLK:
perms[0]='b';
break;
case S_IFIFO:
perms[0]='p';
break;
case S_IFSOCK:
perms[0]='s';
break;
default:
perms[0]='-';
break;
}
printf("%s ",perms); // 输出文件权限
printf("%d ",(int)st.st_nlink); // 输出硬链接数
user=getpwuid(st.st_uid); // 获取文件拥有者信息
group=getgrgid(st.st_gid); // 获取文件拥有者组信息
printf("%s %s ",user->pw_name,group->gr_name); // 输出拥有者和所属组
printf("%8ld ",st.st_size); // 输出文件大小
char *time_str=ctime(&st.st_mtime); // 获取文件最后修改时间
time_str[strlen(time_str)-1]='\0'; // 去掉不需要的换行符
printf("%s ",time_str); // 输出最后修改时间
printf("%s\n",file); // 输出文件名
}