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

📄 link.java

📁 一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。
💻 JAVA
字号:
package jp.co.sjts.gsession.link;

/*
 * 儕儞僋偺僒乕僽儗僢僩僋儔僗  Link.java
 * Copyright (C) 1999-2000 Japan Total System Co,LTD
 *    Satoru K  <koni@sjts.co.jp>
 */

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Hashtable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.ServletException;
import jp.co.sjts.gsession.tools.*;

public class Link extends ModBaseServlet {

	private String dataDir;
	private DataManager dataManager;
 
	public void init() throws ServletException {
		super.init();

		try{
			// 弶婜抣偺庢摼
			dataDir = getInitParameter(LkCmd.LK_DATADIR);
			if(dataDir==null)
				throw new GSException("弶婜抣偺庢摼偵幐攕(僥乕僞僨傿儗僋僩儕)");

			if(!dataDir.endsWith("/"))
				dataDir+="/";

			// 僨乕僞儅僱乕僕儍
			dataManager = new DataManager(dataDir);
			dataManager.Load();

		} catch (Exception e) {
			log("init err",e);
			throw new ServletException(e.toString());
		}
	}

	public void GSdoPost(Hashtable hsPara,HttpServletRequest req,HttpServletResponse res)
		throws ServletException, IOException
	{
		try {
			// 僷儔儊乕僞側偟偺帪偼MAIN儁乕僕偲偡傞
			if(hsPara == null) {
				hsPara = new Hashtable();
				String[] value = {Integer.toString(LkCmd.LK_MAIN)};
				hsPara.put(LkCmd.GS_PARA_CMD,value);
			}

			Dispatch(hsPara,req,res);

		} catch(Exception e) {
			log("Link::GSdoPost",e);
			unKnownError(req,res);
//			throw new GSException("unow",e);
		}
	}

	public void GSdoGet(Hashtable hsPara,HttpServletRequest req,HttpServletResponse res)
		throws ServletException, IOException
	{
		try {
			// 僷儔儊乕僞側偟偺帪偼MAIN儁乕僕偲偡傞
			if(hsPara == null) {
				hsPara = new Hashtable();
				String[] value = {Integer.toString(LkCmd.LK_MAIN)};
				hsPara.put(LkCmd.GS_PARA_CMD,value);
			}

			Dispatch(hsPara,req,res);

		} catch(Exception e) {
			log("Link::GSdoPost",e);
			unKnownError(req,res);
//			throw new GSException("unow",e);
		}
	}

	private void unKnownError(HttpServletRequest req,HttpServletResponse res) {
		CreateErrorPage page = new CreateErrorPage(CreateErrorPage.ERR,getMapURL(),getMainURL());
		try {
			page.write(req,res);
		} catch(GSException e) {
		}
	}

	void Dispatch(Hashtable hsPara,HttpServletRequest req,HttpServletResponse res)
		throws GSException {

		String url = GSTool.removeParaFormURI(req.getRequestURI());
		int cmd=(hsPara.get(LkCmd.GS_PARA_CMD)!=null)?
				Integer.parseInt(((String[])hsPara.get(LkCmd.GS_PARA_CMD))[0]):-1;
		CreatePage page=null;

		switch(cmd){
		// 儊僀儞儁乕僕
		case LkCmd.LK_MAIN:{
			page = new MainPage(hsPara,dataDir,getMapURL(),getHelpURL());
			break;}
		// 僨傿儗僋僩儕搊榐夋柺
		case LkCmd.NEW_DIR:{
			page = new NewDirPage(hsPara,dataDir,getMapURL(),getHelpURL());
			break;}
		// 僨傿儗僋僩儕搊榐
		case LkCmd.NEW_DIR_CHECK:{
			DirCheck dirCheck = new DirCheck(hsPara,dataDir,getMapURL()
											 ,dataManager,url,getHelpURL());
			page = dirCheck.addCheck();
			break;}
		// 僨傿儗僋僩儕嶍彍妋擣夋柺
		case LkCmd.DEL_DIR:{
			String currentDirId = (hsPara.get(LkCmd.GS_PARA_PDIRID)!=null)?
				((String[])hsPara.get(LkCmd.GS_PARA_PDIRID))[0]:Integer.toString(0);
			String[] sDirids = (String[])hsPara.get(LkCmd.GS_PARA_DIRID);
			if((sDirids==null)||(sDirids.length<=0)) {
				hsPara.clear();
				String[] value = {currentDirId};
				hsPara.put(LkCmd.GS_PARA_DIRID,value);
				page = new MainPage(hsPara,dataDir,getMapURL(),getHelpURL());
				break;
			}
			Para[] para = new Para[sDirids.length+3];
			para[0] = new Para("action",url);
			para[1] = new Para(LkCmd.GS_PARA_CMD,Integer.toString(LkCmd.DEL_DIR_CHECK));
			para[2] = new Para(LkCmd.GS_PARA_PDIRID,currentDirId);
			for(int i=3;i<para.length;i++)
				para[i] = new Para(LkCmd.GS_PARA_DIRID,sDirids[i-3]);
			page = new CreateMsgPage(CreateMsgPage.MB_YESNO,CreateMsgPage.ID_POST
						 ,"妋擣","僨傿儗僋僩儕偲僨傿儗僋僩儕撪偺僨乕僞傪慡偰嶍彍偟傑偡丅傛傠偟偄偱偡偐丅",para,getMapURL()+GSFilename.GS_MSGICON);
			break;}
		// 僨傿儗僋僩儕嶍彍
		case LkCmd.DEL_DIR_CHECK:{
			String currentDirId = (hsPara.get(LkCmd.GS_PARA_PDIRID)!=null)?
				((String[])hsPara.get(LkCmd.GS_PARA_PDIRID))[0]:Integer.toString(0);
			if(hsPara.get(CreateMsgPage.RET_NO)!=null){
				hsPara.clear();
				String[] value = {currentDirId};
				hsPara.put(LkCmd.GS_PARA_DIRID,value);
				page = new MainPage(hsPara,dataDir,getMapURL(),getHelpURL());
				break;
			}
				
			DirCheck dirCheck = new DirCheck(hsPara,dataDir,getMapURL()
											 ,dataManager,url,getHelpURL());
			page = dirCheck.delCheck();
			break;}
		// 儕儞僋搊榐夋柺 
		case LkCmd.NEW_LINK:{
			page = new NewLinkPage(hsPara,dataDir,getMapURL(),getHelpURL());
			break;}
		// 儕儞僋搊榐
		case LkCmd.NEW_LINK_CHECK:{
			LinkCheck linkCheck = new LinkCheck(hsPara,dataDir,getMapURL()
												,dataManager,url,getHelpURL());
			page = linkCheck.addCheck();
			break;}
		// 儕儞僋嶍彍-堏摦妋擣夋柺
		case LkCmd.DEL_MOVE_CHECK:{
			String[] sLinkIds = (String[])hsPara.get(LkCmd.GS_PARA_LINKID);
			String currentDirId = (hsPara.get(LkCmd.GS_PARA_PDIRID)!=null)?
				((String[])hsPara.get(LkCmd.GS_PARA_PDIRID))[0]:null;
			String moveDirId = (hsPara.get(LkCmd.GS_PARA_MDIRID)!=null)?
				((String[])hsPara.get(LkCmd.GS_PARA_MDIRID))[0]:null;
			
			// 僷儔儊乕僞僄儔乕
			if((sLinkIds==null)||(sLinkIds.length<=0)||(moveDirId==null)) {
				hsPara.clear();
				String[] value = {currentDirId};
				hsPara.put(LkCmd.GS_PARA_DIRID,value);
				page = new MainPage(hsPara,dataDir,getMapURL(),getHelpURL());
				break;
			}

			// 嶍彍
			if(hsPara.get(LkCmd.DEL_SUB_LINKX)!=null) {
				
				Para[] para = new Para[sLinkIds.length+3];
				para[0] = new Para("action",url);
				para[1] = new Para(LkCmd.GS_PARA_CMD,Integer.toString(LkCmd.DEL_LINK));
				para[2] = new Para(LkCmd.GS_PARA_DIRID,currentDirId);
				for(int i=3;i<para.length;i++)
					para[i] = new Para(LkCmd.GS_PARA_LINKID,sLinkIds[i-3]);
				page = new CreateMsgPage(CreateMsgPage.MB_YESNO,CreateMsgPage.ID_POST
							 ,"妋擣","儕儞僋傪嶍彍偟傑偡丅傛傠偟偄偱偡偐丅",para,getMapURL()+GSFilename.GS_MSGICON);
				break;
			// 堏摦	
			} else if(hsPara.get(LkCmd.MOVE_SUB_LINKX)!=null) {

				Para[] para = new Para[sLinkIds.length+4];
				para[0] = new Para("action",url);
				para[1] = new Para(LkCmd.GS_PARA_CMD,Integer.toString(LkCmd.MOVE_LINK));
				para[2] = new Para(LkCmd.GS_PARA_DIRID,currentDirId);
				para[3] = new Para(LkCmd.GS_PARA_MDIRID,moveDirId);
				for(int i=4;i<para.length;i++)
					para[i] = new Para(LkCmd.GS_PARA_LINKID,sLinkIds[i-4]);
				page = new CreateMsgPage(CreateMsgPage.MB_YESNO,CreateMsgPage.ID_POST
							 ,"妋擣","儕儞僋傪堏摦偟傑偡丅傛傠偟偄偱偡偐丅",para,getMapURL()+GSFilename.GS_MSGICON);
				break;

			}

			break;}
		// 儕儞僋嶍彍
		case LkCmd.DEL_LINK:{
			 LinkCheck linkCheck = new LinkCheck(hsPara,dataDir,getMapURL()
												 ,dataManager,url,getHelpURL());
			 page = linkCheck.delCheck();
			 break;}
		// 儕儞僋偺堏摦
		case LkCmd.MOVE_LINK:{
			LinkCheck linkCheck = new LinkCheck(hsPara,dataDir,getMapURL()
												 ,dataManager,url,getHelpURL());
			page = linkCheck.moveCheck();
			break;}
		// 儕儞僋曇廤夋柺
		case LkCmd.EDIT_LINK:{
			page = new EditLinkPage(hsPara,dataDir,getMapURL(),getHelpURL());
			break;}
		case LkCmd.EDIT_LINK_CHECK:{
			LinkCheck linkCheck = new LinkCheck(hsPara,dataDir,getMapURL()
												 ,dataManager,url,getHelpURL());
			page = linkCheck.editCheck();
			
			break;}
		}
		
		
		if(page!=null)
			page.write(req,res);
	}
}

⌨️ 快捷键说明

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