昨天本来想把数据库中的一长串字符串中的其中一小节字符删除,但是昨天做了很久,都没删除掉。
本来我把那串字符从数据库中取出来,用个数组保存起来,我可以把我选中的那个字符删掉,但是之后我就不知道怎么组合起来啦。真的是昨天用了我很多时间。
今天问了下同事,其实很简单,我用了个
StringBuilder sb = new StringBuilder();
if(pictureId.equals(!myCollection[i])){
sb.append("#"+myCollection[i]);
}
就可以啦,真的是好蠢啊之前,呵呵
具体代码如下
/**
* 删除日历
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
public void delCollectionCalendar(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("UTF-8");
Logger log = Logger.getLogger("delCollectionCalendar");
PrintWriter pw = null;
pw = response.getWriter();
StringBuilder result = new StringBuilder("");
String pictureId = request.getParameter("pictureId");
System.out.println("del pictureId ===" + pictureId);
User user = (User) (request.getSession().getAttribute("user"));
String collection = user.getCollection();
System.out.println("del collection ===" + collection);
String[] myCollection = collection.split("#");
System.out.println("del myCollection ===" + myCollection);
StringBuilder sb = new StringBuilder();
boolean flag = false;
for (int i = 1; i < myCollection.length; i++) {
if(!myCollection[i].equals(pictureId)){
sb.append("#"+myCollection[i]);
}
}
try {
flag = userDao.updateUserCollection(sb.toString(), user);
pw.write("<script language='javascript'>");
pw.write("window.location='/jsp/super_calendar_delsuccess.jsp';");
pw.write("</script>");
pw.close();
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
if (flag) {
user.setCollection(collection);
pw.close();
} else{
pw.write("<script language='javascript'>");
pw.write("window.location='/jsp/super_calendar_collfail.jsp';");
pw.write("</script>");
pw.close();
}
return;
}
}