createmainbodypage.java

来自「一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。」· Java 代码 · 共 219 行

JAVA
219
字号
package jp.co.sjts.gsession.main;

/*
 * 儊僀儞儃僨傿乕儁乕僕  CreateMainBodyPage.java
 * Copyright (C) 1999-2001 Japan Total System Co,LTD
 *    Satoru K  <koni@sjts.co.jp>
 */

import java.io.File;
import java.io.PrintWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.util.List;
import java.util.Iterator;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jp.co.sjts.gsession.tools.*;

public class CreateMainBodyPage extends CreatePage {

	private static final String title = "儊僀儞儃僨傿乕";
	private static final String bgcolor = "#ffffff";
	private static final String text = "#400040";
	private static final String link = "#0000ff";
	private static final String alink = "#ff0000";
	private static final String vlink = "#0000ff";

	private String dataDir;
	private List modList;
	private String mainUrl;
	private String mapUrl;
	private String helpUrl;
	private IHoliday holiday;

	public CreateMainBodyPage(String dataDir,List modList,String mainUrl
							  ,String mapUrl,String helpUrl,IHoliday holiday) {

		this.dataDir = dataDir;
		this.modList = modList;
		this.mainUrl = mainUrl;
		this.mapUrl = mapUrl;
		this.helpUrl = helpUrl;
		this.holiday = holiday;
	}

	protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException {
		return true;
	}

	public void write(HttpServletRequest req,HttpServletResponse res) throws GSException	{

		String url = GSTool.removeParaFormURI(req.getRequestURI());
		HttpSession session = req.getSession(false);
		GSDate date = new GSDate();
		String lastLoginTime="";

		String buf = (String)session.getAttribute(GSBase.SESSION_LAST_LOGIN);
		if(buf==null){
			lastLoginTime = "晄柧";
		}else{
			date.setYMDHMS(buf);
			lastLoginTime = date.getstrYear()+"/"+date.getstrMonth()+"/"+date.getstrDay()+" "+
						date.getstrHour()+":"+date.getstrMinute()+":"+date.getstrSecond();
		}

		//儕僼儗僢僔儏帪娫偺愝掕
		Integer i = (Integer)session.getAttribute(GSBase.SESSION_PARA_UID);
		UserConfFile ucf = new UserConfFile(dataDir + GSFilename.GS_DIR_USER + File.separator + i.toString());
		if(ucf.exists())
			ucf.Load();
		else
			ucf.Save();

		int refreshtime = ucf.getRefreshTime();
		setRefreshTime(refreshtime);

		res.setContentType("text/html; charset=iso-2022-jp");

		try {
			PrintWriter pw = new PrintWriter( new OutputStreamWriter(res.getOutputStream(),"iso-2022-jp") ,true);

			setTitle(title);
			pw.println("<HTML>");
			header.write(pw);
			pw.println("<BODY"
				   +" BGCOLOR="+bgcolor
				   +" TEXT="+text
				   +" LINK="+link
				   +" VLINK="+vlink
				   +" ALINK="+alink
				   +">");

			pw.println("<TABLE ALIGN=\"center\" WIDTH=\"640\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"5\">");
			//pw.println("<TABLE ALIGN=\"center\" WIDTH=\"95%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"5\">");

			pw.println("<TR>");
			// 僇儗儞僟乕偺昞帵
			GSCalendar calendar = new GSCalendar();
			calendar.setLang(GSCalendar.ENG);
			//calendar.setShort(false);
			GSDate today = new GSDate();
			GSDate prev = (GSDate)today.clone();
			prev.setYMD(today.getYear(),today.getMonth()-1,1);
			GSDate next = (GSDate)today.clone();
			next.setYMD(today.getYear(),today.getMonth()+1,1);
			
			pw.println("<TD WIDTH=\"2%\" VALIGN=\"top\" ROWSPAN=\"3\">");
			calendar.write(pw,prev,holiday);
			pw.println("</TD>");

			pw.println("<TD WIDTH=\"2%\" VALIGN=\"top\" ROWSPAN=\"3\">");
			calendar.write(pw,today,holiday);
			pw.println("</TD>");

			pw.println("<TD WIDTH=\"2%\" VALIGN=\"top\" ROWSPAN=\"3\">");
			calendar.write(pw,next,holiday);
			pw.println("</TD>");


			// 僿儖僾
			pw.println("<TD WIDTH=\"100%\" ALIGN=\"right\"><A HREF=\""+helpUrl+GSHelpPage.MN000000
					   +"\" TARGET=\"gsessionhelpwindow\">亂傊儖僾亃</A></TD>");

			pw.println("</TR>");

			// 慜夞儘僌僀儞帪娫
			pw.println("<TR>");
			pw.println("<TD ALIGN=\"right\">");
			pw.println("<FONT COLOR=\"#ff0000\"><B>慜夞儘僌僀儞帪娫丂"+lastLoginTime+"</B></FONT>");
			pw.println("</TD>");
			pw.println("</TR>");

			// 娗棟幰僣乕儖丒屄恖愝掕
			pw.println("<TR>");
			pw.println("<TD ALIGN=\"right\">");
			pw.println("<A HREF=\""+url+"?"+GSCmd.GS_PARA_CMD+"=" +GSCmd.GS_ADMINTOOL
					  +"\"><IMG SRC=\""+mapUrl+GSFilename.GS_ADMIN_TOOL_BTN
					  +"\" ALT=\"娗棟幰僣乕儖\" HEIGHT=\"28\" WIDTH=\"133\" BORDER=\"0\"></A>");
			pw.println("<A HREF=\""+url+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_PERSONAL
					  +"\"><IMG SRC=\""+mapUrl+GSFilename.GS_PERSON_SET_BTN
					  +"\" ALT=\"屄恖愝掕\" HEIGHT=\"28\" WIDTH=\"133\" BORDER=\"0\"></A>");
			pw.println("</TD>");
			pw.println("</TR>");

			pw.println("</TABLE>");



			// 奺儌僕儏乕儖偺昞帵
			pw.println("<!-- 奺儌僕儏乕儖偺昞帵 -->");
			pw.println("<TABLE ALIGN=\"center\" WIDTH=\"640\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"5\">");
			//pw.println("<TABLE ALIGN=\"center\" WIDTH=\"95%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"5\">");
			pw.flush();
			try {
				CollModMainBodyWrite(req,res,pw,i);
			} catch(GSException e) {
				pw.println("<TR>");
				pw.println("<TD>");
				pw.println("<CENTER>"+e.getMessage()+"</CENTER>");
				pw.println("</TD>");
				pw.println("</TR>");
			}
			pw.println("</TABLE>");

			pw.println("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
			pw.println("<TR>");
			pw.println("<TD ALIGN=\"center\">");
			pw.println("<HR>");
			pw.println("<FONT SIZE=\"2\" COLOR=\"#808080\">Copyright (C) 擔杮僩乕僞儖僔僗僥儉姅幃夛幮 2000</FONT>");
			pw.println("</TD>");
			pw.println("</TR>");
			pw.println("</TABLE>");

			pw.println("</BODY>");
			pw.println("</HTML>");
			pw.flush();
			pw.close();
		} catch(IOException e) {
			throw new GSException("err");
			
		}
	}

	private void CollModMainBodyWrite(HttpServletRequest req,HttpServletResponse res,PrintWriter pw,Integer uid)
		throws GSException {

		Iterator it = modList.iterator();

		try {
			while(it.hasNext())	{
				Mod mod = (Mod)it.next();
				String strModUrl = mod.GetURL();

				int idx = strModUrl.indexOf("/servlet/");
				String strModPath = strModUrl.substring(idx)
					+"?"+GSBase.PARA_MAINBODYWRITE+"=iso-2022-jp&"
					+GSBase.SESSION_PARA_UID+"="+uid.toString()+"&"
					+GSBase.SESSION_MOD_URL+"="+strModUrl;

				RequestDispatcher dispatcher = req.getRequestDispatcher(strModPath);
				pw.println("<TR>");
				pw.println("<TD>");
				pw.flush();
				dispatcher.include(req,res);
				pw.println("</TD>");
				pw.println("</TR>");
				pw.flush();
			}
		} catch(ServletException e) {
			throw new GSException("愙懕偱偒傑偣傫丅",e);
		} catch(IOException e) {
			throw new GSException("愙懕偵幐攕",e);
		}
	}
}

⌨️ 快捷键说明

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