⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tagsaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
字号:
package cn.jsprun.struts.action;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import cn.jsprun.page.LogPage;
import cn.jsprun.service.posts.TagsService;
import cn.jsprun.service.system.DataBaseService;
import cn.jsprun.utils.BeanFactory;
import cn.jsprun.utils.Cache;
import cn.jsprun.utils.Common;
import cn.jsprun.utils.FormDataCheck;

public class TagsAction extends DispatchAction {
	private TagsService tagsService = (TagsService) BeanFactory.getBean("tagService");
	private DataBaseService dataBaseService = (DataBaseService) BeanFactory.getBean("dataBaseService");
	public ActionForward findByTags(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		String tagsearchsubmit = request.getParameter("tagsearchsubmit");
		if(tagsearchsubmit==null){
			Common.requestforward(response, "admincp.jsp?action=tags");
			return null;
		}
		String tagname = request.getParameter("tagname");
		String cins = request.getParameter("cins");
		String threadnumlower = request.getParameter("threadnumlower");
		String threadnumhigher = request.getParameter("threadnumhigher");
		String status = request.getParameter("status");
		request.setAttribute("tagname", tagname);
		request.setAttribute("cins", cins);
		request.setAttribute("threadnumlower", threadnumlower);
		request.setAttribute("threadnumhigher", threadnumhigher);
		request.setAttribute("status", status);
		String sql = getTagSql(tagname,cins,threadnumlower,threadnumhigher,status);
		int totalsize = Common.toDigit(dataBaseService.executeQuery("select count(*) count "+sql).get(0).get("count"));
		LogPage loginpage = new LogPage(totalsize,100,1);
		request.setAttribute("logpage", loginpage);
		List<Map<String,String>> taglist = dataBaseService.executeQuery("select * "+sql+" limit 100");
		if (taglist != null && taglist.size()>0) {
			request.setAttribute("tagsList", taglist);
			String hiddenSB = countSB(taglist);
			request.setAttribute("hiddenSB", hiddenSB);
		}
		request.setAttribute("notfirst", "notfirst");
		return mapping.findForward("toTags");
	}
	public ActionForward pageTags(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		int currentpage = 1;
		String page = request.getParameter("page");
		currentpage = page == null || page.equals("") ? 1 : FormDataCheck.isNum(page) ? Integer.valueOf(page) : 1;
		String tagname = request.getParameter("tagname");
		String cins = request.getParameter("cins");
		String threadnumlower = request.getParameter("threadnumlower");
		String threadnumhigher = request.getParameter("threadnumhigher");
		String status = request.getParameter("status");
		request.setAttribute("tagname", tagname);
		request.setAttribute("cins", cins);
		request.setAttribute("threadnumlower", threadnumlower);
		request.setAttribute("threadnumhigher", threadnumhigher);
		request.setAttribute("status", status);
		String sql = getTagSql(tagname,cins,threadnumlower,threadnumhigher,status);
		int totalsize = Common.toDigit(dataBaseService.executeQuery("select count(*) count "+sql).get(0).get("count"));
		LogPage loginpage = new LogPage(totalsize,100,currentpage);
		int beginsize = (currentpage-1)*100;
		request.setAttribute("logpage", loginpage);
		List<Map<String,String>> taglist = dataBaseService.executeQuery("select * "+sql+" limit "+beginsize+",100");
		if (taglist != null && taglist.size()>0) {
		request.setAttribute("tagsList", taglist);
		String hiddenSB = countSB(taglist);
		request.setAttribute("hiddenSB", hiddenSB);
		}
		request.setAttribute("notfirst", "notfirst");
		return mapping.findForward("toTags");
	}
	private String countSB(List<Map<String,String>> tagsList) {
		StringBuffer count = new StringBuffer();
		for (Map<String,String> tags:tagsList) {
			count.append(tags.get("tagname")+",");
		}
		return count.toString();
	}
	public ActionForward batchTags(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String tagsubmit = request.getParameter("tagsubmit");
		if(tagsubmit==null){
			Common.requestforward(response, "admincp.jsp?action=tags");
			return null;
		}
		String hiddenTags = request.getParameter("hiddenSB");
		String tagname = request.getParameter("tagname");
		String cins = request.getParameter("cins");
		String threadnumlower = request.getParameter("threadnumlower");
		String threadnumhigher = request.getParameter("threadnumhigher");
		String status = request.getParameter("status");
		List<String> deleteList = new ArrayList<String>();
		List<String> closedList = new ArrayList<String>();
		List<String> openList = new ArrayList<String>();
		if (hiddenTags != null && !hiddenTags.equals("")) {
			String[] tags = hiddenTags.split(",");
			for (int i = 0; i < tags.length; i++) {
				String value = request.getParameter(getTagArray(tags[i]));
				if (value != null && !value.equals("")) {
					if (value.trim().equals("-1")) {
						deleteList.add(tags[i]);
					}
					if (value.trim().equals("1")) {
						closedList.add(tags[i]);
					}
					if (value.trim().equals("0")) {
						openList.add(tags[i]);
					}
				}
			}
		}
		tagsService.deleteArray(deleteList);
		tagsService.updateToClosedTags(closedList);
		tagsService.updateToOpenTags(openList);
		deleteList = null;closedList=null;openList=null;
		Cache cache = new Cache(servlet.getServletContext().getRealPath("/"));
		try {
			cache.updatecache("index");
		} catch (Exception e) {
			e.printStackTrace();
		}
		request.setAttribute("successInfo", "主题标签设置成功更新。");
		request.setAttribute("requestPath", "admincp.jsp?action=tags&search=yes&tagname="+tagname+"&cins="+cins+"&threadnumlower="+threadnumlower+"&threadnumhigher="+threadnumhigher+"&status="+status+"&tagsearchsubmit=yes");
		return mapping.findForward("success");
	}
	public String getTagArray(String tags) {
		StringBuffer sb = new StringBuffer("tag[");
		sb.append(tags);
		sb.append("]");
		return sb.toString();
	}
	private String getTagSql(String tagname,String cins,String threadnumlower,String threadnumhigher,String status){
		StringBuffer sqlbuffer = new StringBuffer("from jrun_tags ");
		String where = " where ";
		String and = " ";
		String cinse = "";
		if(cins!=null){
			cinse = " BINARY ";
		}
		if(tagname!=null && !tagname.equals("")){
			sqlbuffer.append(where);
			where = " ";
			sqlbuffer.append(and);
			and = " and ";
			sqlbuffer.append(cinse + " tagname like '%"+tagname+"%' ");
		}
		if(threadnumlower!=null && !threadnumlower.equals("")){
			sqlbuffer.append(where);
			where = " ";
			sqlbuffer.append(and);
			and = " and ";
			sqlbuffer.append(cinse + " total < "+threadnumlower);
		}
		if(threadnumhigher!=null && !threadnumhigher.equals("")){
			sqlbuffer.append(where);
			where = " ";
			sqlbuffer.append(and);
			and = " and ";
			sqlbuffer.append(cinse + " total> "+threadnumhigher);
		}
		if(!status.equals("-1")){
			sqlbuffer.append(where);
			where = " ";
			sqlbuffer.append(and);
			and = " and ";
			sqlbuffer.append(cinse + " closed="+status);
		}
		return sqlbuffer.toString();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -