📄 smiliesaction.java
字号:
}
String edit = request.getParameter("edit");
String directory = request.getParameter("directory");
List<Smilies> list = new ArrayList<Smilies>();
List<Short> shortListIds = new ArrayList<Short>();
String[] deletes = request.getParameterValues("delete[]");
if (deletes != null) {
for (int i = 0; i < deletes.length; i++) {
if (deletes[i] != null && FormDataCheck.isNum(deletes[i])) {
shortListIds.add(Short.valueOf(deletes[i]));
}
}
}
String hiddenids = request.getParameter("hiddenids");
if (hiddenids != null) {
String[] ids = hiddenids.split(",");
if (ids != null) {
for (int i = 0; i < ids.length; i++) {
if (FormDataCheck.isValueString(ids[i])) {
String display = request.getParameter(getDisplayorder(ids[i]));
String code = request.getParameter(getCode(ids[i]));
Smilies s = new Smilies();
s.setId(Short.valueOf(ids[i]));
if (FormDataCheck.isValueString(display)&& FormDataCheck.isNum(display)) {
s.setDisplayorder(Short.valueOf(display));
} else {
s.setDisplayorder(Short.valueOf("0"));
}
if (FormDataCheck.isValueString(code)) {
s.setCode(code);
list.add(s);
} else {
shortListIds.add(Short.valueOf(ids[i]));
}
}
}
}
}
imagetypesService.deleteSmiliesIds(shortListIds);
imagetypesService.updateSmiliesDisplayorderCode(list);
list = null;shortListIds=null;deletes=null;
Cache cache = new Cache(servlet.getServletContext().getRealPath("/"));
try {
cache.updatecache("post");
} catch (Exception e) {
e.printStackTrace();
}
String successInfo = "表情列表更新成功";
request.setAttribute("successInfo", successInfo);
request.setAttribute("requestPath","admincp.jsp?action=smilies&search=yes&edit="+edit+"&directory="+directory);
return mapping.findForward("success");
}
private String getDisplayorder(String ids) {
StringBuffer sb = new StringBuffer("displayorder[");
sb.append(ids);
sb.append("]");
return sb.toString();
}
private String getCode(String ids) {
StringBuffer sb = new StringBuffer("code[");
sb.append(ids);
sb.append("]");
return sb.toString();
}
public ActionForward ajaxSmilies(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String simliepath = request.getParameter("path");
String path = servlet.getServletContext().getRealPath("/")+ "images/smilies/" + simliepath;
String typeids = request.getParameter("typeid");
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Program", "no-cache");
response.setDateHeader("Expirse", 0);
short typeid = Common.toDigit(typeids,10000000L,0L).shortValue();
int count = 0;
File file = new File(path);
try {
String[] files = file.list();
StringBuffer context = new StringBuffer();
context.append("<form method='post' action="+ request.getContextPath()+ "/smilies.do?smiliesaction=addSmilies>");
context.append("<table width='100%' border='0' cellpadding='0' cellspacing='0' class='tableborder'>");
context.append("<tr class='header'><td colspan='5' align='left'>批量添加表情</td></tr>");
context.append("<tr><td class='altbg1'><input class='checkbox' type='checkbox' name='chkall' class='category' onclick=\"checkall(this.form,'cate')\" checked>启用</td><td class='altbg2'>显示顺序</td><td class='altbg1'>表情代码</td><td class='altbg2'>文件名</td><td class='altbg1'>图片</td></tr>");
for (String s : files) {
File smiliefile = new File(s);
String filename = smiliefile.getName();
if (!smilieService.findSmiliesbytypeid(typeid, filename)) {
if (filename.matches("^[\\w\\-\\.\\[\\]\\(\\)\\<\\> &]+$")&&(filename.toLowerCase().lastIndexOf(".gif") != -1||filename.toLowerCase().lastIndexOf(".jpg") != -1)&&filename.length()<30) {
count++;
context.append("<tr><td class='altbg1'><input class='checkbox' type='checkbox' name='cate[]' value='1' checked></td><td class='altbg2'><input type='text' name='displayorder[]' value='0' size='2' maxlength='2'></td><td class='altbg1'><input type='text' name = 'code[]' id='codecode_"+count+"' value='' size='25' maxlength='30'></td><td class='altbg2'>"
+ filename + "<input type='hidden' name='url' id = 'codeurl_"+count+"'value='"+filename+"'></td><td class='altbg1'><img src='"
+ "images/smilies/" + simliepath + "/" + filename + "' onload=\"if(this.height>30) {this.resized=true; this.height=30; this.title='点击在新窗口查看全图';}\" onmouseover=\"if(this.resized) this.style.cursor='pointer';\" onclick=\"if(!this.resized) {return false;} else {window.open(this.src);}\"></td></tr>");
}
}
}
context.append("<tr><td colspan='5'>批量设置表情代码: <input type='text' size='2' value='前缀' id='codeprefix' onclick='clearinput(this, \"前缀\")' style='vertical-align: middle'> + <select id='codemiddle' style='vertical-align: middle'><option value='1'>文件名</option><option value='2'>自然顺序</option></select> + <input type='text' size='2' value='后缀' id='codesuffix' onclick='clearinput(this, \"后缀\")' style='vertical-align: middle'> <button type='button' onclick='addsmileycodes(\""+(count+1)+"\", \"code\");' style='vertical-align: middle'>应用</button></td></tr>");
context.append("<tr><td colspan='5' align='center'><center><input type='submit' name='smiliesubmit' class='button' value='提交'> <input type='button' class='button' value='重新搜索' onclick=\"ajaxget('"
+ request.getContextPath()+ "/smilies.do?smiliesaction=ajaxSmilies&path="
+ simliepath+ "&typeid="+ typeids+ "', 'addsmilies', 'addsmilies','auto');doane(event);\"></center></td></tr></table>");
context.append("<input type='hidden' name='typeid' value='"+typeid+"'></form>");
if (count == 0) {
context = new StringBuffer();
context.append("<form method='post' action="+ request.getContextPath()+ "/smilies.do?smiliesaction=addSmilies>");
context.append("<table width='100%' border='0' cellpadding='0' cellspacing='0' class='tableborder'>");
context.append("<tr class='header'><td colspan='5' align='left'>批量添加表情</td></tr>");
context.append("<tr><td colspan='5'>目录 ./images/smilies/"+ simliepath+ " 中没有找到尚未使用的表情图片,表情图片文件名只允许数字、26 个英文字母、下划线、半角空格及 <>-.&[]() 等符号,文件名长度不能超过 30 字节,否则将会无法识别。请通过 FTP 上传需要添加的表情图片到 ./images/smilies/"
+ simliepath + " 目录,然后点击“重新搜索”</td></tr></table>");
context.append("<center><input type=\"button\" class=\"button\" value=\"重新搜索\" onclick=\"ajaxget('"
+ request.getContextPath()+ "/smilies.do?smiliesaction=ajaxSmilies&path="+ simliepath
+ "&typeid="+ typeids+ "', 'addsmilies', 'addsmilies','auto');doane(event);\"></center></form>");
}
response.getWriter().write(context.toString());
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public ActionForward addSmilies(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String smiliesubmit = request.getParameter("smiliesubmit");
if(smiliesubmit==null){
Common.requestforward(response, "admincp.jsp?action=smilies");
return null;
}
String code[] = request.getParameterValues("code[]");
String cate[] = request.getParameterValues("cate[]");
String displayorder[] = request.getParameterValues("displayorder[]");
String url[] = request.getParameterValues("url");
String typeid = request.getParameter("typeid");
List<String> display = new ArrayList<String>();
List<String> category = new ArrayList<String>();
List<String> codes = new ArrayList<String>();
List<String> urllist = new ArrayList<String>();
List<Smilies> smilielist = new ArrayList<Smilies>();
int size = url.length;
for(int i=0;i<size;i++){
display.add(displayorder[i]);
if(cate!=null && cate.length>i){
category.add(cate[i]);
}else{
category.add(null);
}
codes.add(code[i]);
urllist.add(url[i]);
}
for(int i=0;i<size;i++){
if(category.get(i)!=null && !category.get(i).equals("") && codes.get(i)!=null && !codes.get(i).equals("")){
Smilies smilies = new Smilies();
short displays = display.get(i)==null ? 0 : convertShort(display.get(i).toString());
smilies.setCode(codes.get(i).toString());
smilies.setDisplayorder(displays);
smilies.setType("smiley");
smilies.setUrl(urllist.get(i).toString());
smilies.setTypeid(Short.valueOf(typeid));
smilielist.add(smilies);
}
}
smilieService.saveList(smilielist);
display = null;category=null;codes=null;urllist=null;smilielist=null;
String successInfo = "表情列表更新成功。";
request.setAttribute("successInfo", successInfo);
request.setAttribute("requestPath","admincp.jsp?action=smilies");
return mapping.findForward("success");
}
private short convertShort(String s){
short count = 0;
try{
count = Short.valueOf(s);
}catch(Exception e){}
return count;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -