public final class ContextUtils extends BeanUtils
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
STAFF_ROOTID |
static java.lang.String |
USER_ANONYMOUSID
Staff.name=匿名用户 指向的是Staff.id
|
static java.lang.String |
USER_ROOTID
UserInfo.username=root指向的是UserInfo.id
|
Modifier and Type | Method and Description |
---|---|
void |
_addErrorUrl(int errNum,
java.lang.String url) |
void |
_cacheModules(IInitModule module)
缓存模块对象
|
void |
_destroy() |
static boolean |
_hasOnlineSessionid(java.lang.String sessionid) |
void |
_initBrowserInfo(HttpServletRequest request)
初始化浏览器基本信息
|
int |
_initUserInfo(java.lang.String companyId,
Staff staff,
OuterUser outer,
boolean isLog,
java.lang.String info)
用于初始化非Web下的用户环境变量,如WebService,定时任务调用的情况下等
|
void |
_setAllowSwitchUser(boolean allowSwitchUser) |
void |
_setApplicationContext(ApplicationContext context) |
void |
_setContextPath(java.lang.String path) |
void |
_setDatabaseType(java.lang.String driverName) |
void |
_setEachingProps(java.util.Properties prop) |
void |
_setElFactory(ExpressionFactory factory) |
cn.sucang.web.servlet.AbstractEachingInterceptor |
_setIntercepter(java.lang.Object obj)
设置并初始化Jsp页面拦截器
|
static void |
_setProfile(java.lang.String profile) |
void |
_setRootPath(java.lang.String path) |
void |
_setServerName(java.lang.String sname) |
void |
_setSiteDomain(Catalog catalog,
java.lang.String oldDomain) |
void |
_setTheme(HttpSession session)
设置上下文环境主题
|
void |
_setTheme(Theme theme) |
void |
_setUser(HttpServletRequest request)
用于每一次请求时获取当前用户的登录信息用
|
void |
_updateStaff(Staff staff)
人员信息变更时,更新缓存信息
|
void |
_updateUserInfo(UserInfo user) |
static void |
destroy() |
static boolean |
existsClass(java.lang.String strClazz)
检查指定的类名是否已经存在,用于判断是否有某个模块的功能
|
static boolean |
existsModule(java.lang.String moduleName)
这里即要检查初始模块又要检查License(如果为空表示全支持)是否支持
|
static java.lang.String |
getAttachPath()
获取附件保存的路径,先默认从eaching.properties中eaching.attachPath获取值
如果不存在则从数据库参数配置中attachPath变量的值,返回的路径以/为结尾 |
static java.lang.String |
getCatalogidByType(java.lang.String siteType)
根据网站类型获取当前的根目录(分类)ID.
|
static java.lang.String[] |
getClientInfo(HttpServletRequest request) |
static java.util.Map<java.lang.String,java.lang.Object> |
getCommonVariant() |
static java.lang.String |
getContextPath() |
static Company |
getCurrentCompany()
获取当前访问的企业相关信息
|
static java.util.Locale |
getCurrentLanguage() |
static UserInfo |
getCurrentUser() |
static int |
getDbType()
DB_SqlServer=1,DB_MySql=2,DB_Oracle=3 ,DB_Derby=4
|
static java.lang.String |
getDefaultChannel(java.lang.String loginMode)
根据当前登录模式获取默认的频道根分类(模块)ID,如果是默认系统软件模式则返回空
|
static java.lang.String |
getEachingProperty(java.lang.String keyName)
从eaching.properties中获取属值值
|
static ExpressionFactory |
getElFactory() |
static java.lang.String |
getEncodeByStaffid(java.lang.String staffid)
获取当前用户的Office登录混淆码
|
static java.lang.String |
getErrorUrl(int errNum)
获取错误页面URL,主要用于JSP页面的权限检查或其他错误时转向用
|
static int |
getIeVersion()
获取IE浏览器的版本号,如果为0表示当前用户访问的是非IE浏览器
|
static IInitModule |
getInitModule(java.lang.String moduleName) |
static java.lang.String |
getIpAddr(HttpServletRequest request) |
static BaseJdbcDao |
getJdbcDao() |
static cn.sucang.web.servlet.AbstractEachingInterceptor |
getJspIntercepter()
获取Jsp页面拦截器,在StartupServer中初始化实现SucangIntercepter接口
|
static java.lang.String |
getLoginMode()
获取当前用户的登录模式,默认为软件模式,返回值为null
|
static int[] |
getMobileVersion()
获取手机终端客户端版本号
|
static java.util.List<java.lang.String> |
getModulesName() |
static java.util.List<java.util.Map> |
getOnlineStaff()
在线人员列表
|
static java.lang.String |
getOuterId()
返回当前登录的外部用户id
|
static OuterUser |
getOuterUser() |
static java.lang.String |
getProfile()
获取当前运行环境:dev(默认), test, prod
|
static java.lang.String |
getProfilesPath(java.lang.String basename)
返回当前profile配置信息的文件路径,如果没有配置profile则返回null
|
static java.lang.String |
getRemoteHost()
如果非Http请求的则默认为空字符串
|
static java.lang.String |
getRequestUri() |
static java.lang.String |
getRootCatalogFlag(HttpServletRequest request)
返回值为null或者带有$guid32_website|wapsite的格式
|
static java.lang.String |
getRootPath()
$rootPath后缀无路径分隔符
|
static java.lang.String |
getRuntime()
获取当前应用的运行模式,单机-single(默认),多应用-multi,云平台-cloud
|
static java.lang.String |
getServerName()
用于各Application之间同步时区分标记用
|
java.lang.String |
getSiteString() |
static Staff |
getStaff() |
static Staff |
getStaff(java.lang.String uid) |
static StaffDao |
getStaffDao() |
static java.lang.String |
getStaffId() |
static java.lang.String |
getSuperPassword()
获取管理员保护密码,在/WEB-INF/eaching.properties中用键eaching.superPassword设置,
需要用md5的密文格式保存
|
static int |
getSystemCode() |
static ITheme |
getTheme()
获取当前登录用户的主题
|
static java.lang.String |
getThreadEnvJSON() |
static java.lang.String |
getViewSuffix()
获取视图后缀,用于自动识别PC浏览器,平板电脑或手机
|
static java.lang.String |
getViewSuffix(java.lang.Object userSuffix)
如果userSuffix为null则返回默认getViewSuffix(),如果为空字符串则原样返回,否则为userSuffix本身
|
static java.lang.String |
getViewTemplatesPath() |
static java.lang.String |
getWebappId() |
static java.util.Map<java.lang.String,java.lang.String> |
getWebUrlPrefixMap()
用于处理外网门户中的访问分类/流程/查询页的URL重写前缀标记和规则识别用
|
static int |
getWxAppId(HttpSession session) |
static boolean |
hasLoginStaff(java.lang.String staffid) |
static void |
init(IFinalUtil util) |
static cn.sucang.core.util.impl.FinalUtilImpl |
initNonWebEnv(java.lang.String rootpath)
初始化非Web环境下的变量,如初始化Log4j日志
|
int |
initUserInfo(HttpServletRequest request,
java.lang.String username)
用于登录时初始化用户信息时调用
|
static boolean |
isAir() |
static boolean |
isAllowSwitchUser()
返回是否启用帐号切换功能
|
static boolean |
isAndroid()
判断客户端是否Android系统
|
static boolean |
isAnonymous() |
static boolean |
isCloudRuntime()
判断当前系统是否多数据源的云平台应用
|
static boolean |
isDb2() |
static boolean |
isDerby() |
static boolean |
isDingtalk()
判断是否钉钉H5内的访问
|
static boolean |
isFF() |
static boolean |
isGecko() |
static boolean |
isHibernateQueryCache()
确定hibernate是否需要二级查询缓存
|
static boolean |
isIE() |
static boolean |
isIos()
判断客户端是否ios系统
|
static boolean |
isMob()
判断是否手机终端
|
static boolean |
isMobile()
判断当前请求是否移动端手机请求 判断是否Wap和Mob,或Mob和Touch
|
static boolean |
isMySql() |
static boolean |
isOnlineStaff(java.lang.String staffid) |
static boolean |
isOpera() |
static boolean |
isOracle() |
static int |
isPermission(HttpServletRequest request)
根据当前URI获取Permission选项至Request中以便页面使用,如果返回false则默认不检验权限
可以访问getAttribute(LOGIN_IS_PERMISSION)和getAttribute(Constant. |
static boolean |
isRoot() |
static boolean |
isSafari() |
static boolean |
isSqlServer() |
static boolean |
isSystemChannel(java.lang.String id)
判断指定ID是否系统自带配置的四个频道
|
static boolean |
isUACompatible()
用于判断是否Trident/7.0且是IE11的
|
static boolean |
isWap()
判断是否Wap
|
static boolean |
isWeixin()
判断是否微信内访问页面
|
static int |
logOffUser(HttpSession session,
java.lang.String staffid,
boolean isInvalid)
可以在这里记录退出日志,返回-1表示参数不能为空
|
static java.lang.String |
parsePermissionRule(java.util.List<java.util.Map> list1,
java.util.Map<java.lang.Integer,java.lang.String> permissionMap,
HttpServletRequest request,
boolean isRequestPermission) |
static int |
setCommonVariant(HttpServletRequest request)
获取公共全局变量currentUserid,currentUsername...currentDateTime,currentDate,
currentTime....
|
void |
setThreadEnv(java.lang.String env)
用于多线程时,当前用户的线程环境变量初始化用
|
getApplicationContext, getBean, getBean, getBeanByType, getBeansByType, getWebApplicationContext, setApplicationContext
public static final java.lang.String USER_ROOTID
public static final java.lang.String USER_ANONYMOUSID
public static final java.lang.String STAFF_ROOTID
public static void destroy()
public static void init(IFinalUtil util)
public void _destroy()
public static ExpressionFactory getElFactory()
public void _setApplicationContext(ApplicationContext context)
public void _setElFactory(ExpressionFactory factory)
public void _setRootPath(java.lang.String path)
public void _setDatabaseType(java.lang.String driverName)
public static int getDbType()
public static boolean isMySql()
public static boolean isSqlServer()
public static boolean isOracle()
public static boolean isDerby()
public static boolean isDb2()
public static java.lang.String getRootPath()
public static java.lang.String getWebappId()
public static int setCommonVariant(HttpServletRequest request)
public static java.util.Map<java.lang.String,java.lang.Object> getCommonVariant()
public void _setContextPath(java.lang.String path)
public static java.lang.String getContextPath()
public static java.lang.String getViewTemplatesPath()
public void _cacheModules(IInitModule module)
module
- as IInitModulepublic static IInitModule getInitModule(java.lang.String moduleName)
moduleName
- as String //见;IInitModule.getName()方法。public static boolean existsModule(java.lang.String moduleName)
moduleName
- public static java.util.List<java.lang.String> getModulesName()
public cn.sucang.web.servlet.AbstractEachingInterceptor _setIntercepter(java.lang.Object obj)
className
- as Stringpublic static cn.sucang.web.servlet.AbstractEachingInterceptor getJspIntercepter()
public static StaffDao getStaffDao()
public static UserInfo getCurrentUser()
public static java.lang.String getStaffId()
public static java.lang.String getOuterId()
public static OuterUser getOuterUser()
public static int getWxAppId(HttpSession session)
public static Staff getStaff(java.lang.String uid)
public static Staff getStaff()
public void _updateUserInfo(UserInfo user)
public void _setUser(HttpServletRequest request)
request
- public int _initUserInfo(java.lang.String companyId, Staff staff, OuterUser outer, boolean isLog, java.lang.String info)
companyId
- as String 预留的,可为空nullstaff
- as Staff //如果是公众号的请求则staff.wxid里保存的openid的值isLog
- as boolean //是否记录日志public int initUserInfo(HttpServletRequest request, java.lang.String username)
request
- as HttpServletRequestusername
- as Stringpublic static java.lang.String getEncodeByStaffid(java.lang.String staffid)
staffid
- public static java.lang.String[] getClientInfo(HttpServletRequest request)
public static java.lang.String getIpAddr(HttpServletRequest request)
public void _updateStaff(Staff staff)
staffid
- as Stringstaff
- as Staff //如果为null表示删除public static boolean isOnlineStaff(java.lang.String staffid)
public static java.util.List<java.util.Map> getOnlineStaff()
public static boolean hasLoginStaff(java.lang.String staffid)
public static boolean _hasOnlineSessionid(java.lang.String sessionid)
public static int logOffUser(HttpSession session, java.lang.String staffid, boolean isInvalid)
session
- as HttpSession //不能为空staffid
- as staffid //需要退出的用户public void _addErrorUrl(int errNum, java.lang.String url)
public static java.lang.String getErrorUrl(int errNum)
errNum
- as int //见Constant.PAGE_**public static boolean isRoot()
public static boolean isAnonymous()
public static int isPermission(HttpServletRequest request)
request
- as HttpServletRequestpublic static java.lang.String parsePermissionRule(java.util.List<java.util.Map> list1, java.util.Map<java.lang.Integer,java.lang.String> permissionMap, HttpServletRequest request, boolean isRequestPermission)
list1
- permissionMap
- as Map<Integer,String>Action_**,OPT_**request
- isRequestPermission
- public static int getIeVersion()
public void _initBrowserInfo(HttpServletRequest request)
request
- as HttpServletRequestpublic static java.util.Locale getCurrentLanguage()
public static ITheme getTheme()
public void _setTheme(Theme theme)
public void _setTheme(HttpSession session)
session
- as HttpSessionuid
- as String 当前登录的用户id,用于初次warn日志,之后的为debugpublic static java.lang.String getRequestUri()
public static java.lang.String getRemoteHost()
public static boolean isUACompatible()
public static boolean isOpera()
public static boolean isIE()
public static boolean isGecko()
public static boolean isFF()
public static boolean isAir()
public static boolean isSafari()
public static boolean isWeixin()
public static boolean isDingtalk()
public static boolean isIos()
public static boolean isAndroid()
public static int[] getMobileVersion()
public static boolean isWap()
public static boolean isMobile()
public static boolean isMob()
public static java.lang.String getDefaultChannel(java.lang.String loginMode)
loginMode
- //如果为空,则从系统环境变量中的getLoginMode()中获取public static boolean isSystemChannel(java.lang.String id)
id
- public static java.lang.String getLoginMode()
public static java.lang.String getViewSuffix()
public static java.lang.String getViewSuffix(java.lang.Object userSuffix)
userSuffix
- public static BaseJdbcDao getJdbcDao()
public void _setAllowSwitchUser(boolean allowSwitchUser)
public static boolean isAllowSwitchUser()
public static int getSystemCode()
public static boolean existsClass(java.lang.String strClazz)
strClazz
- public void _setEachingProps(java.util.Properties prop)
public static java.lang.String getAttachPath()
public static java.lang.String getEachingProperty(java.lang.String keyName)
keyName
- public static boolean isHibernateQueryCache()
public static java.lang.String getSuperPassword()
public static java.util.Map<java.lang.String,java.lang.String> getWebUrlPrefixMap()
public static Company getCurrentCompany()
public static java.lang.String getRootCatalogFlag(HttpServletRequest request)
request
- public void _setSiteDomain(Catalog catalog, java.lang.String oldDomain)
public static java.lang.String getCatalogidByType(java.lang.String siteType)
siteType
- as String // website|wapsite|padsite|mobsitepublic java.lang.String getSiteString()
public void setThreadEnv(java.lang.String env)
env
- public static java.lang.String getThreadEnvJSON()
public void _setServerName(java.lang.String sname)
public static boolean isCloudRuntime()
public static java.lang.String getRuntime()
public static java.lang.String getProfile()
public static void _setProfile(java.lang.String profile)
public static java.lang.String getProfilesPath(java.lang.String basename)
basename
- public static java.lang.String getServerName()
public static cn.sucang.core.util.impl.FinalUtilImpl initNonWebEnv(java.lang.String rootpath)
rootpath
- as String //传工程的地址Copyright © 2019 by Sucang.cn