無料版技術情報
support
セッション情報を取得する方法
前提条件
このページの解説は、Java、Apache Struts、Jakarta Antについての知識がある事を前提とします。
セッション情報の取得方法(Java)
Javaでセッション情報を取得する方法をソースファイルの例とともに説明します。
/**
* <br>[機 能] アクションを実行する
* <br>[解 説]
* <br>[備 考]
* @param map マップ
* @param form フォーム
* @param req リクエスト
* @param res レスポンス
* @param con DBコネクション
* @return ActionForward フォワード
* @throws Exception 実行例外
*/
public ActionForward executeAction(ActionMapping map, ActionForm form,
HttpServletRequest req, HttpServletResponse res, Connection con)
throws Exception {
//HttpServletRequestからリクエストモデルを取得します
RequestModel reqMdl = getRequestModel(req);
//リクエストモデルからログインユーザの情報を取得します。
BaseUserModel usModel = reqMdl.getSmodel();
log__.debug("tcd010 start");
ActionForward forward = null;
Tcd010Form myForm = (Tcd010Form) form;
~中略~
return forward;
}
* <br>[機 能] アクションを実行する
* <br>[解 説]
* <br>[備 考]
* @param map マップ
* @param form フォーム
* @param req リクエスト
* @param res レスポンス
* @param con DBコネクション
* @return ActionForward フォワード
* @throws Exception 実行例外
*/
public ActionForward executeAction(ActionMapping map, ActionForm form,
HttpServletRequest req, HttpServletResponse res, Connection con)
throws Exception {
//HttpServletRequestからリクエストモデルを取得します
RequestModel reqMdl = getRequestModel(req);
//リクエストモデルからログインユーザの情報を取得します。
BaseUserModel usModel = reqMdl.getSmodel();
log__.debug("tcd010 start");
ActionForward forward = null;
Tcd010Form myForm = (Tcd010Form) form;
~中略~
return forward;
}
セッション情報の取得方法(jspファイル)
EJSPファイル内でセッション情報を取得する方法を説明します。
<%@page import="jp.groupsession.v2.usr.model.UsrLabelValueBean"%>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="/WEB-INF/ctag-css.tld" prefix="theme" %>
<%@ taglib uri="/WEB-INF/ctag-message.tld" prefix="gsmsg" %>
<%@ taglib uri="/WEB-INF/ctag-jsmsg.tld" prefix="gsjsmsg" %>
<%@ page import="jp.groupsession.v2.cmn.GSConst" %>
<% String key = jp.groupsession.v2.cmn.GSConst.SESSION_KEY; %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
~中略~
</head>
<body class="body_03">
<html:form action="/timecard/tcd010">
<html:hidden property="year" />
<html:hidden property="month" />
<html:hidden property="tcdDspFrom" />
<html:hidden property="editDay" />
<html:hidden property="dakokuStrSetFlg" />
<html:hidden property="dakokuEndSetFlg" />
<input type="hidden" name="CMD" value="init">
<logic:equal name="tcd010Form" property="usrKbn" value="0">
<html:hidden property="sltGroupSid" />
<html:hidden property="usrSid" />
</logic:equal>
<%@ include file="/WEB-INF/plugin/common/jsp/header001.jsp" %>
~中略~
<!-- ユーザ名:姓 -->
<bean:write name="<%= key %>" scope="session" property="usisei" />
<!-- ユーザ名:名 -->
<bean:write name="<%= key %>" scope="session" property="usimei" />
<!-- ログインID -->
<bean:write name="<%= key %>" scope="session" property="lgid" />
</html:form>
<%@ include file="/WEB-INF/plugin/common/jsp/footer001.jsp" %>
</body>
</html:html>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="/WEB-INF/ctag-css.tld" prefix="theme" %>
<%@ taglib uri="/WEB-INF/ctag-message.tld" prefix="gsmsg" %>
<%@ taglib uri="/WEB-INF/ctag-jsmsg.tld" prefix="gsjsmsg" %>
<%@ page import="jp.groupsession.v2.cmn.GSConst" %>
<% String key = jp.groupsession.v2.cmn.GSConst.SESSION_KEY; %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
~中略~
</head>
<body class="body_03">
<html:form action="/timecard/tcd010">
<html:hidden property="year" />
<html:hidden property="month" />
<html:hidden property="tcdDspFrom" />
<html:hidden property="editDay" />
<html:hidden property="dakokuStrSetFlg" />
<html:hidden property="dakokuEndSetFlg" />
<input type="hidden" name="CMD" value="init">
<logic:equal name="tcd010Form" property="usrKbn" value="0">
<html:hidden property="sltGroupSid" />
<html:hidden property="usrSid" />
</logic:equal>
<%@ include file="/WEB-INF/plugin/common/jsp/header001.jsp" %>
~中略~
<!-- ユーザ名:姓 -->
<bean:write name="<%= key %>" scope="session" property="usisei" />
<!-- ユーザ名:名 -->
<bean:write name="<%= key %>" scope="session" property="usimei" />
<!-- ログインID -->
<bean:write name="<%= key %>" scope="session" property="lgid" />
</html:form>
<%@ include file="/WEB-INF/plugin/common/jsp/footer001.jsp" %>
</body>
</html:html>
セッション情報の内容
セッション情報にはjp.groupsession.v2.cmn.dao.BaseUserModelが格納されています。
BaseUserModelの内容は以下の表の通りです。
項目 | データ型 | Getter名 | 説明 |
---|---|---|---|
ユーザSID | int | getUsrsid() | ユーザを識別するキーとなるIDです。(ログインIDではありません) |
ログインID | String | getLgid() | ログイン時に入力するIDです。 |
姓 | String | getUsisei() | ログインしているユーザの姓です。 |
名 | String | getUsimei() | ログインしているユーザの名です。 |
ユーザ区分 | boolean | getAdminFlg() | 管理者権限の有無です。 true:管理者, false:一般 |
前回ログイン時間 | String | getLstLogintime() | 前回ログインした日時の文字列です。 |
モバイル使用可否 | int | getMblUse() | GSモバイルの使用可/不可です。 0:使用可, 1:使用不可 |
テーマファイルパス | String | getCtmPath() | 画面のテーマに関するファイルパス。 |
ログイン停止フラグ | int | getUsrUkoFlg() | ログインが有効なユーザかどうかのフラグです。 true:有効, false:無効 |
セッションの有効期限について
GroupSessionのセッション情報有効期限は12時間に設定されています。
リクエスト毎に有効期限は12時間後に更新されますが、セッションが切れると再ログインする必要があります。
セッションの有効期限はメイン>管理者設定>セッション保持時間設定から変更することができます。