creategrouplistpage.java
来自「一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。」· Java 代码 · 共 276 行
JAVA
276 行
package jp.co.sjts.gsession.main;
/*
* 僌儖乕僾儕僗僩儁乕僕 CreateGroupListPage.java
* Copyright (C) 1999-2000 Japan Total System Co,LTD
* Satoru K <koni@sjts.co.jp>
*/
import java.util.Hashtable;
import java.util.Arrays;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jp.co.sjts.gsession.tools.*;
public class CreateGroupListPage extends CreatePage {
private static final String title = "僌儖乕僾強懏儐乕僓堦棗昞";
private static final String bgcolor = "#ffffff";
private static final String text = "#000000";
private static final String link = "#0000ff";
private static final String alink = "#ff0000";
private static final String vlink = "#0000ff";
private static final int ID = 0;
private static final int NAME = 1;
private static final int ADMIN = 2;
private static final int EMAIL = 3;
private static final int KANA = 4;
private static final int ADMINFLG = 5;
private Hashtable hsPara;
private String dataDir;
private UserManager userManager;
private String urlMap;
private String helpURL;
public CreateGroupListPage(Hashtable hsPara,String dataDir,UserManager userManager,String urlMap,String HelpURL) {
this.hsPara = hsPara;
this.dataDir = dataDir;
this.userManager = userManager;
this.urlMap = urlMap;
this.helpURL = HelpURL;
}
protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException {
String url = GSTool.removeParaFormURI(req.getRequestURI());
String[] buf;
int gid=-1;
if((buf=(String[])hsPara.get(GSCmd.GS_PARA_GID))!=null)
gid = Integer.parseInt(buf[0]);
String gname = userManager.getGName(gid);
setCharset("iso-2022-jp");
setTitle(title);
setHelpUrl(helpURL+GSHelpPage.MN223000);
setBodyColor(bgcolor,text,link,vlink,alink);
addBodyString("<CENTER>");
addBodyString("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"1\" CELLPADDING=\"1\">");
addBodyString("<FORM METHOD=\"post\" ACTION=\""+url+"\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_CMD + "\" VALUE=\"" + GSCmd.GS_GRUP_MNG + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_GLISTX + "\" VALUE=\"damy\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_GID + "\" VALUE=\"" + gid + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTKEY + "\" VALUE=\""
+ ((hsPara.get(GSCmd.GS_PARA_SORTKEY)!=null)?
((String[])hsPara.get(GSCmd.GS_PARA_SORTKEY))[0]:"4") + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+ID + "\" VALUE=\""
+ ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+ID)!=null)?
((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+ID)))[0]:"false")
+ "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+NAME + "\" VALUE=\""
+ ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null)?
((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)))[0]:"false")
+ "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+ADMIN + "\" VALUE=\""
+ ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN)!=null)?
((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN)))[0]:"false")
+ "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+EMAIL + "\" VALUE=\""
+ ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL)!=null)?
((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL)))[0]:"false")
+ "\">");
// 僞僀僩儖
addBodyString("<TR>");
addBodyString("<TD BGCOLOR=\"#000080\">");
addBodyString(" <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"2\">");
addBodyString(" <TR>");
addBodyString(" <TD HEIGHT=\"40\" NOWRAP><FONT COLOR=\"#ffffff\">"+gname+"丂強懏儐乕僓堦棗昞</FONT></TD>");
addBodyString(" <TD ALIGN=\"right\">");
addBodyString(" <A HREF=\"#\" onClick='self.close()'><IMG SRC=\""+urlMap+GSFilename.GS_CLOSE_BTN+"\""
+" ALT=\"暵偠傞\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></A>");
addBodyString(" </TD>");
addBodyString(" </TR>");
addBodyString(" </TABLE>");
addBodyString("</TD>");
addBodyString("</TR>");
addBodyString("<TR><TD><HR SIZE=\"1\"></TD></TR>");
// 儕僗僩
addBodyString("<TR>");
addBodyString("<TD>");
addBodyString(" <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"1\" CELLPADDING=\"1\">");
//尒弌偟
String href = url
+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_GRUP_MNG
+"&"+GSCmd.GS_PARA_GLISTX+"=damy&"
+GSCmd.GS_PARA_GID+"="+gid;
int sortkey = (hsPara.get(GSCmd.GS_PARA_SORTKEY)!=null)?
Integer.parseInt(((String[])hsPara.get(GSCmd.GS_PARA_SORTKEY))[0]):4;
String idSortflg="true";
if( (sortkey==ID) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+ID)!=null) )
idSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+ID))[0]).equals("true")?"false":"true";
String nameSortflg="true";
if( (sortkey==NAME) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null) )
nameSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME))[0]).equals("true")?"false":"true";
String adminSortflg="true";
if( (sortkey==ADMIN) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN)!=null) )
adminSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN))[0]).equals("true")?"false":"true";
String emailSortflg="true";
if( (sortkey==EMAIL) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL)!=null) )
emailSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL))[0]).equals("true")?"false":"true";
if(sortkey == 4) {
sortkey = ID;
idSortflg = "false";
}
addBodyString(" <TR BGCOLOR=\"#cccccc\" ALIGN=\"center\">");
String idTitle="<FONT COLOR=\"#ffffff\">ID</FONT>";
idTitle=makeTitle(idTitle,idSortflg,sortkey,ID);
addBodyString(" <TD NOWRAP><B><A HREF=\""+href
+"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(ID)
+"&"+GSCmd.GS_PARA_SORTFLG+ID+"="+idSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+ADMIN+"="+adminSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+EMAIL+"="+emailSortflg
+"\">"
+idTitle
+"</A></B></TD>");;
String nameTitle="<FONT COLOR=\"#ffffff\">柤慜</FONT>";
nameTitle=makeTitle(nameTitle,nameSortflg,sortkey,NAME);
addBodyString(" <TD NOWRAP><B><A HREF=\""
+href
+"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(NAME)
+"&"+GSCmd.GS_PARA_SORTFLG+ID+"="+idSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+ADMIN+"="+adminSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+EMAIL+"="+emailSortflg
+"\">"
+nameTitle
+"</A></B></TD>");
String adminTitle="<FONT COLOR=\"#ffffff\">娗棟幰</FONT>";
adminTitle=makeTitle(adminTitle,adminSortflg,sortkey,ADMIN);
addBodyString(" <TD NOWRAP><B><A HREF=\""
+href
+"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(ADMIN)
+"&"+GSCmd.GS_PARA_SORTFLG+ID+"="+idSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+ADMIN+"="+adminSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+EMAIL+"="+emailSortflg
+"\">"
+adminTitle
+"</A></B></TD>");
String emailTitle="<FONT COLOR=\"#ffffff\">e-mail</FONT>";
emailTitle=makeTitle(emailTitle,emailSortflg,sortkey,EMAIL);
addBodyString(" <TD NOWRAP><B><A HREF=\""
+href
+"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(EMAIL)
+"&"+GSCmd.GS_PARA_SORTFLG+ID+"="+idSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+ADMIN+"="+adminSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+EMAIL+"="+emailSortflg
+"\">"
+emailTitle
+"</A></B></TD>");
boolean flg=true;
int[] uids = userManager.getUidArray(gid);
if(uids!=null){
Object[] dspUsr = new Object[uids.length];
//僜乕僩梡僥乕僽儖嶌惉
for(int i=0;i<uids.length;i++){
IUser user = userManager.getUser(uids[i]);
Vector vec = new Vector(6);
vec.add(userManager.getPassword(uids[i]).GetUser());
vec.add(user.getName());
Boolean admin = new Boolean(userManager.isGroupAdmin(gid,uids[i]));
vec.add(admin);
vec.add(user.getEmail());
vec.add(user.getKana());
Integer adminflg = (admin.booleanValue())?new Integer(0):new Integer(1);
vec.add(adminflg);
dspUsr[i] = vec;
}
boolean sortflg=true;
switch(sortkey){
case ID:
sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+ID)!=null)?
(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+ID))[0]).equals("true"):true;
break;
case NAME:
sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null)?
(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME))[0]).equals("true"):true;
break;
case ADMIN:
sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN)!=null)?
(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN))[0]).equals("true"):true;
break;
case EMAIL:
sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL)!=null)?
(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL))[0]).equals("true"):true;
break;
}
//僜乕僩
GSSort usrsort = (sortkey == NAME)?
new GSSort(sortflg,KANA):(sortkey == ADMIN)? new GSSort(sortflg,ADMINFLG):new GSSort(sortflg,sortkey);
Arrays.sort(dspUsr,usrsort);
for(int i=0;i<dspUsr.length;i++) {
Vector vec = (Vector)dspUsr[i];
if(flg)
addBodyString(" <TR>");
else
addBodyString(" <TR BGCOLOR=\"#ffffbf\">");
flg = !flg;
addBodyString(" <TD>"+((String)vec.get(ID))+"</TD>");
addBodyString(" <TD>"+((String)vec.get(NAME))+"</TD>");
if(((Boolean)vec.get(ADMIN)).booleanValue()) {
addBodyString(" <TD ALIGN=\"center\"><IMG SRC=\""+urlMap+GSFilename.GS_KEY
+"\" ALT=\"娗棟尃尷\" HEIGHT=\"24\" WIDTH=\"39\"></TD>");
} else {
addBodyString(" <TD>丂</TD>");
}
addBodyString(" <TD>"+((String)vec.get(EMAIL))+"丂</TD>");
addBodyString(" </TR>");
}
}
addBodyString(" </TR>");
addBodyString(" </TABLE>");
addBodyString("</TD>");
addBodyString("</TR>");
addBodyString("</FORM>");
addBodyString("</TABLE>");
return true;
}
private String makeTitle(String title,String flag,int key,int sorttarget) {
if(key == sorttarget) {
if(flag.equals("true"))
title = "<FONT COLOR=\"ffffff\"> 仴 </FONT>"+title;
else
title = title+"<FONT COLOR=\"ffffff\"> 仯 </FONT>";
}
return title;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?