Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
46444bd0
Commit
46444bd0
authored
Oct 08, 2019
by
RuoYi
Browse files
RuoYi-Vue 1.0
parent
5bc74554
Changes
400
Hide whitespace changes
Inline
Side-by-side
ruoyi/src/main/java/com/ruoyi/common/enums/UserStatus.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.enums
;
/**
* 用户状态
*
* @author ruoyi
*/
public
enum
UserStatus
{
OK
(
"0"
,
"正常"
),
DISABLE
(
"1"
,
"停用"
),
DELETED
(
"2"
,
"删除"
);
private
final
String
code
;
private
final
String
info
;
UserStatus
(
String
code
,
String
info
)
{
this
.
code
=
code
;
this
.
info
=
info
;
}
public
String
getCode
()
{
return
code
;
}
public
String
getInfo
()
{
return
info
;
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/BaseException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception
;
import
com.ruoyi.common.utils.MessageUtils
;
import
com.ruoyi.common.utils.StringUtils
;
/**
* 基础异常
*
* @author ruoyi
*/
public
class
BaseException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 所属模块
*/
private
String
module
;
/**
* 错误码
*/
private
String
code
;
/**
* 错误码对应的参数
*/
private
Object
[]
args
;
/**
* 错误消息
*/
private
String
defaultMessage
;
public
BaseException
(
String
module
,
String
code
,
Object
[]
args
,
String
defaultMessage
)
{
this
.
module
=
module
;
this
.
code
=
code
;
this
.
args
=
args
;
this
.
defaultMessage
=
defaultMessage
;
}
public
BaseException
(
String
module
,
String
code
,
Object
[]
args
)
{
this
(
module
,
code
,
args
,
null
);
}
public
BaseException
(
String
module
,
String
defaultMessage
)
{
this
(
module
,
null
,
null
,
defaultMessage
);
}
public
BaseException
(
String
code
,
Object
[]
args
)
{
this
(
null
,
code
,
args
,
null
);
}
public
BaseException
(
String
defaultMessage
)
{
this
(
null
,
null
,
null
,
defaultMessage
);
}
@Override
public
String
getMessage
()
{
String
message
=
null
;
if
(!
StringUtils
.
isEmpty
(
code
))
{
message
=
MessageUtils
.
message
(
code
,
args
);
}
if
(
message
==
null
)
{
message
=
defaultMessage
;
}
return
message
;
}
public
String
getModule
()
{
return
module
;
}
public
String
getCode
()
{
return
code
;
}
public
Object
[]
getArgs
()
{
return
args
;
}
public
String
getDefaultMessage
()
{
return
defaultMessage
;
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/CustomException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception
;
/**
* 自定义异常
*
* @author ruoyi
*/
public
class
CustomException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
1L
;
private
Integer
code
;
private
String
message
;
public
CustomException
(
String
message
)
{
this
.
message
=
message
;
}
public
CustomException
(
String
message
,
Integer
code
)
{
this
.
message
=
message
;
this
.
code
=
code
;
}
public
CustomException
(
String
message
,
Throwable
e
)
{
super
(
message
,
e
);
this
.
message
=
message
;
}
@Override
public
String
getMessage
()
{
return
message
;
}
public
Integer
getCode
()
{
return
code
;
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/DemoModeException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception
;
/**
* 演示模式异常
*
* @author ruoyi
*/
public
class
DemoModeException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
1L
;
public
DemoModeException
()
{
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/UtilException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception
;
/**
* 工具类异常
*
* @author ruoyi
*/
public
class
UtilException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
8247610319171014183L
;
public
UtilException
(
Throwable
e
)
{
super
(
e
.
getMessage
(),
e
);
}
public
UtilException
(
String
message
)
{
super
(
message
);
}
public
UtilException
(
String
message
,
Throwable
throwable
)
{
super
(
message
,
throwable
);
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/file/FileException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception.file
;
import
com.ruoyi.common.exception.BaseException
;
/**
* 文件信息异常类
*
* @author ruoyi
*/
public
class
FileException
extends
BaseException
{
private
static
final
long
serialVersionUID
=
1L
;
public
FileException
(
String
code
,
Object
[]
args
)
{
super
(
"file"
,
code
,
args
,
null
);
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception.file
;
/**
* 文件名称超长限制异常类
*
* @author ruoyi
*/
public
class
FileNameLengthLimitExceededException
extends
FileException
{
private
static
final
long
serialVersionUID
=
1L
;
public
FileNameLengthLimitExceededException
(
int
defaultFileNameLength
)
{
super
(
"upload.filename.exceed.length"
,
new
Object
[]
{
defaultFileNameLength
});
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception.file
;
/**
* 文件名大小限制异常类
*
* @author ruoyi
*/
public
class
FileSizeLimitExceededException
extends
FileException
{
private
static
final
long
serialVersionUID
=
1L
;
public
FileSizeLimitExceededException
(
long
defaultMaxSize
)
{
super
(
"upload.exceed.maxSize"
,
new
Object
[]
{
defaultMaxSize
});
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception.file
;
import
java.util.Arrays
;
import
org.apache.commons.fileupload.FileUploadException
;
/**
* 文件上传 误异常类
*
* @author ruoyi
*/
public
class
InvalidExtensionException
extends
FileUploadException
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
[]
allowedExtension
;
private
String
extension
;
private
String
filename
;
public
InvalidExtensionException
(
String
[]
allowedExtension
,
String
extension
,
String
filename
)
{
super
(
"filename : ["
+
filename
+
"], extension : ["
+
extension
+
"], allowed extension : ["
+
Arrays
.
toString
(
allowedExtension
)
+
"]"
);
this
.
allowedExtension
=
allowedExtension
;
this
.
extension
=
extension
;
this
.
filename
=
filename
;
}
public
String
[]
getAllowedExtension
()
{
return
allowedExtension
;
}
public
String
getExtension
()
{
return
extension
;
}
public
String
getFilename
()
{
return
filename
;
}
public
static
class
InvalidImageExtensionException
extends
InvalidExtensionException
{
private
static
final
long
serialVersionUID
=
1L
;
public
InvalidImageExtensionException
(
String
[]
allowedExtension
,
String
extension
,
String
filename
)
{
super
(
allowedExtension
,
extension
,
filename
);
}
}
public
static
class
InvalidFlashExtensionException
extends
InvalidExtensionException
{
private
static
final
long
serialVersionUID
=
1L
;
public
InvalidFlashExtensionException
(
String
[]
allowedExtension
,
String
extension
,
String
filename
)
{
super
(
allowedExtension
,
extension
,
filename
);
}
}
public
static
class
InvalidMediaExtensionException
extends
InvalidExtensionException
{
private
static
final
long
serialVersionUID
=
1L
;
public
InvalidMediaExtensionException
(
String
[]
allowedExtension
,
String
extension
,
String
filename
)
{
super
(
allowedExtension
,
extension
,
filename
);
}
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception.user
;
/**
* 验证码错误异常类
*
* @author ruoyi
*/
public
class
CaptchaException
extends
UserException
{
private
static
final
long
serialVersionUID
=
1L
;
public
CaptchaException
()
{
super
(
"user.jcaptcha.error"
,
null
);
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception.user
;
/**
* 验证码失效异常类
*
* @author ruoyi
*/
public
class
CaptchaExpireException
extends
UserException
{
private
static
final
long
serialVersionUID
=
1L
;
public
CaptchaExpireException
()
{
super
(
"user.jcaptcha.expire"
,
null
);
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/user/UserException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception.user
;
import
com.ruoyi.common.exception.BaseException
;
/**
* 用户信息异常类
*
* @author ruoyi
*/
public
class
UserException
extends
BaseException
{
private
static
final
long
serialVersionUID
=
1L
;
public
UserException
(
String
code
,
Object
[]
args
)
{
super
(
"user"
,
code
,
args
,
null
);
}
}
ruoyi/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.exception.user
;
/**
* 用户密码不正确或不符合规范异常类
*
* @author ruoyi
*/
public
class
UserPasswordNotMatchException
extends
UserException
{
private
static
final
long
serialVersionUID
=
1L
;
public
UserPasswordNotMatchException
()
{
super
(
"user.password.not.match"
,
null
);
}
}
ruoyi/src/main/java/com/ruoyi/common/utils/Arith.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.utils
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
/**
* 精确的浮点数运算
*
* @author ruoyi
*/
public
class
Arith
{
/** 默认除法运算精度 */
private
static
final
int
DEF_DIV_SCALE
=
10
;
/** 这个类不能实例化 */
private
Arith
()
{
}
/**
* 提供精确的加法运算。
* @param v1 被加数
* @param v2 加数
* @return 两个参数的和
*/
public
static
double
add
(
double
v1
,
double
v2
)
{
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
v1
));
BigDecimal
b2
=
new
BigDecimal
(
Double
.
toString
(
v2
));
return
b1
.
add
(
b2
).
doubleValue
();
}
/**
* 提供精确的减法运算。
* @param v1 被减数
* @param v2 减数
* @return 两个参数的差
*/
public
static
double
sub
(
double
v1
,
double
v2
)
{
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
v1
));
BigDecimal
b2
=
new
BigDecimal
(
Double
.
toString
(
v2
));
return
b1
.
subtract
(
b2
).
doubleValue
();
}
/**
* 提供精确的乘法运算。
* @param v1 被乘数
* @param v2 乘数
* @return 两个参数的积
*/
public
static
double
mul
(
double
v1
,
double
v2
)
{
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
v1
));
BigDecimal
b2
=
new
BigDecimal
(
Double
.
toString
(
v2
));
return
b1
.
multiply
(
b2
).
doubleValue
();
}
/**
* 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到
* 小数点以后10位,以后的数字四舍五入。
* @param v1 被除数
* @param v2 除数
* @return 两个参数的商
*/
public
static
double
div
(
double
v1
,
double
v2
)
{
return
div
(
v1
,
v2
,
DEF_DIV_SCALE
);
}
/**
* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
* 定精度,以后的数字四舍五入。
* @param v1 被除数
* @param v2 除数
* @param scale 表示表示需要精确到小数点以后几位。
* @return 两个参数的商
*/
public
static
double
div
(
double
v1
,
double
v2
,
int
scale
)
{
if
(
scale
<
0
)
{
throw
new
IllegalArgumentException
(
"The scale must be a positive integer or zero"
);
}
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
v1
));
BigDecimal
b2
=
new
BigDecimal
(
Double
.
toString
(
v2
));
if
(
b1
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
return
BigDecimal
.
ZERO
.
doubleValue
();
}
return
b1
.
divide
(
b2
,
scale
,
RoundingMode
.
HALF_UP
).
doubleValue
();
}
/**
* 提供精确的小数位四舍五入处理。
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果
*/
public
static
double
round
(
double
v
,
int
scale
)
{
if
(
scale
<
0
)
{
throw
new
IllegalArgumentException
(
"The scale must be a positive integer or zero"
);
}
BigDecimal
b
=
new
BigDecimal
(
Double
.
toString
(
v
));
BigDecimal
one
=
new
BigDecimal
(
"1"
);
return
b
.
divide
(
one
,
scale
,
RoundingMode
.
HALF_UP
).
doubleValue
();
}
}
ruoyi/src/main/java/com/ruoyi/common/utils/DateUtils.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.utils
;
import
java.lang.management.ManagementFactory
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
/**
* 时间工具类
*
* @author ruoyi
*/
public
class
DateUtils
extends
org
.
apache
.
commons
.
lang3
.
time
.
DateUtils
{
public
static
String
YYYY
=
"yyyy"
;
public
static
String
YYYY_MM
=
"yyyy-MM"
;
public
static
String
YYYY_MM_DD
=
"yyyy-MM-dd"
;
public
static
String
YYYYMMDDHHMMSS
=
"yyyyMMddHHmmss"
;
public
static
String
YYYY_MM_DD_HH_MM_SS
=
"yyyy-MM-dd HH:mm:ss"
;
private
static
String
[]
parsePatterns
=
{
"yyyy-MM-dd"
,
"yyyy-MM-dd HH:mm:ss"
,
"yyyy-MM-dd HH:mm"
,
"yyyy-MM"
,
"yyyy/MM/dd"
,
"yyyy/MM/dd HH:mm:ss"
,
"yyyy/MM/dd HH:mm"
,
"yyyy/MM"
,
"yyyy.MM.dd"
,
"yyyy.MM.dd HH:mm:ss"
,
"yyyy.MM.dd HH:mm"
,
"yyyy.MM"
};
/**
* 获取当前Date型日期
*
* @return Date() 当前日期
*/
public
static
Date
getNowDate
()
{
return
new
Date
();
}
/**
* 获取当前日期, 默认格式为yyyy-MM-dd
*
* @return String
*/
public
static
String
getDate
()
{
return
dateTimeNow
(
YYYY_MM_DD
);
}
public
static
final
String
getTime
()
{
return
dateTimeNow
(
YYYY_MM_DD_HH_MM_SS
);
}
public
static
final
String
dateTimeNow
()
{
return
dateTimeNow
(
YYYYMMDDHHMMSS
);
}
public
static
final
String
dateTimeNow
(
final
String
format
)
{
return
parseDateToStr
(
format
,
new
Date
());
}
public
static
final
String
dateTime
(
final
Date
date
)
{
return
parseDateToStr
(
YYYY_MM_DD
,
date
);
}
public
static
final
String
parseDateToStr
(
final
String
format
,
final
Date
date
)
{
return
new
SimpleDateFormat
(
format
).
format
(
date
);
}
public
static
final
Date
dateTime
(
final
String
format
,
final
String
ts
)
{
try
{
return
new
SimpleDateFormat
(
format
).
parse
(
ts
);
}
catch
(
ParseException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
/**
* 日期路径 即年/月/日 如2018/08/08
*/
public
static
final
String
datePath
()
{
Date
now
=
new
Date
();
return
DateFormatUtils
.
format
(
now
,
"yyyy/MM/dd"
);
}
/**
* 日期路径 即年/月/日 如20180808
*/
public
static
final
String
dateTime
()
{
Date
now
=
new
Date
();
return
DateFormatUtils
.
format
(
now
,
"yyyyMMdd"
);
}
/**
* 日期型字符串转化为日期 格式
*/
public
static
Date
parseDate
(
Object
str
)
{
if
(
str
==
null
)
{
return
null
;
}
try
{
return
parseDate
(
str
.
toString
(),
parsePatterns
);
}
catch
(
ParseException
e
)
{
return
null
;
}
}
/**
* 获取服务器启动时间
*/
public
static
Date
getServerStartDate
()
{
long
time
=
ManagementFactory
.
getRuntimeMXBean
().
getStartTime
();
return
new
Date
(
time
);
}
/**
* 计算两个时间差
*/
public
static
String
getDatePoor
(
Date
endDate
,
Date
nowDate
)
{
long
nd
=
1000
*
24
*
60
*
60
;
long
nh
=
1000
*
60
*
60
;
long
nm
=
1000
*
60
;
// long ns = 1000;
// 获得两个时间的毫秒时间差异
long
diff
=
endDate
.
getTime
()
-
nowDate
.
getTime
();
// 计算差多少天
long
day
=
diff
/
nd
;
// 计算差多少小时
long
hour
=
diff
%
nd
/
nh
;
// 计算差多少分钟
long
min
=
diff
%
nd
%
nh
/
nm
;
// 计算差多少秒//输出结果
// long sec = diff % nd % nh % nm / ns;
return
day
+
"天"
+
hour
+
"小时"
+
min
+
"分钟"
;
}
}
ruoyi/src/main/java/com/ruoyi/common/utils/IdUtils.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.utils
;
import
com.ruoyi.common.core.lang.UUID
;
/**
* ID生成器工具类
*
* @author ruoyi
*/
public
class
IdUtils
{
/**
* 获取随机UUID
*
* @return 随机UUID
*/
public
static
String
randomUUID
()
{
return
UUID
.
randomUUID
().
toString
();
}
/**
* 简化的UUID,去掉了横线
*
* @return 简化的UUID,去掉了横线
*/
public
static
String
simpleUUID
()
{
return
UUID
.
randomUUID
().
toString
(
true
);
}
/**
* 获取随机UUID,使用性能更好的ThreadLocalRandom生成UUID
*
* @return 随机UUID
*/
public
static
String
fastUUID
()
{
return
UUID
.
fastUUID
().
toString
();
}
/**
* 简化的UUID,去掉了横线,使用性能更好的ThreadLocalRandom生成UUID
*
* @return 简化的UUID,去掉了横线
*/
public
static
String
fastSimpleUUID
()
{
return
UUID
.
fastUUID
().
toString
(
true
);
}
}
ruoyi/src/main/java/com/ruoyi/common/utils/LogUtils.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.utils
;
/**
* 处理并记录日志文件
*
* @author ruoyi
*/
public
class
LogUtils
{
public
static
String
getBlock
(
Object
msg
)
{
if
(
msg
==
null
)
{
msg
=
""
;
}
return
"["
+
msg
.
toString
()
+
"]"
;
}
}
ruoyi/src/main/java/com/ruoyi/common/utils/MessageUtils.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.utils
;
import
org.springframework.context.MessageSource
;
import
org.springframework.context.i18n.LocaleContextHolder
;
import
com.ruoyi.common.utils.spring.SpringUtils
;
/**
* 获取i18n资源文件
*
* @author ruoyi
*/
public
class
MessageUtils
{
/**
* 根据消息键和参数 获取消息 委托给spring messageSource
*
* @param code 消息键
* @param args 参数
* @return 获取国际化翻译值
*/
public
static
String
message
(
String
code
,
Object
...
args
)
{
MessageSource
messageSource
=
SpringUtils
.
getBean
(
MessageSource
.
class
);
return
messageSource
.
getMessage
(
code
,
args
,
LocaleContextHolder
.
getLocale
());
}
}
ruoyi/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.utils
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
com.ruoyi.common.constant.HttpStatus
;
import
com.ruoyi.common.exception.CustomException
;
import
com.ruoyi.framework.security.LoginUser
;
/**
* 安全服务工具类
*
* @author ruoyi
*/
public
class
SecurityUtils
{
/**
* 获取用户账户
**/
public
static
String
getUsername
()
{
try
{
return
getLoginUser
().
getUsername
();
}
catch
(
Exception
e
)
{
throw
new
CustomException
(
"获取用户账户异常"
,
HttpStatus
.
UNAUTHORIZED
);
}
}
/**
* 获取用户
**/
public
static
LoginUser
getLoginUser
()
{
try
{
return
(
LoginUser
)
getAuthentication
().
getPrincipal
();
}
catch
(
Exception
e
)
{
throw
new
CustomException
(
"获取用户信息异常"
,
HttpStatus
.
UNAUTHORIZED
);
}
}
/**
* 获取Authentication
*/
public
static
Authentication
getAuthentication
()
{
return
SecurityContextHolder
.
getContext
().
getAuthentication
();
}
/**
* 生成BCryptPasswordEncoder密码
*
* @param password 密码
* @return 加密字符串
*/
public
static
String
encryptPassword
(
String
password
)
{
BCryptPasswordEncoder
passwordEncoder
=
new
BCryptPasswordEncoder
();
return
passwordEncoder
.
encode
(
password
);
}
/**
* 判断密码是否相同
*
* @param rawPassword 真实密码
* @param encodedPassword 加密后字符
* @return 结果
*/
public
static
boolean
matchesPassword
(
String
rawPassword
,
String
encodedPassword
)
{
BCryptPasswordEncoder
passwordEncoder
=
new
BCryptPasswordEncoder
();
return
passwordEncoder
.
matches
(
rawPassword
,
encodedPassword
);
}
/**
* 是否为管理员
*
* @param userId 用户ID
* @return 结果
*/
public
static
boolean
isAdmin
(
Long
userId
)
{
return
userId
!=
null
&&
1L
==
userId
;
}
}
ruoyi/src/main/java/com/ruoyi/common/utils/ServletUtils.java
0 → 100644
View file @
46444bd0
package
com.ruoyi.common.utils
;
import
java.io.IOException
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpSession
;
import
org.springframework.web.context.request.RequestAttributes
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
com.ruoyi.common.core.text.Convert
;
/**
* 客户端工具类
*
* @author ruoyi
*/
public
class
ServletUtils
{
/**
* 获取String参数
*/
public
static
String
getParameter
(
String
name
)
{
return
getRequest
().
getParameter
(
name
);
}
/**
* 获取String参数
*/
public
static
String
getParameter
(
String
name
,
String
defaultValue
)
{
return
Convert
.
toStr
(
getRequest
().
getParameter
(
name
),
defaultValue
);
}
/**
* 获取Integer参数
*/
public
static
Integer
getParameterToInt
(
String
name
)
{
return
Convert
.
toInt
(
getRequest
().
getParameter
(
name
));
}
/**
* 获取Integer参数
*/
public
static
Integer
getParameterToInt
(
String
name
,
Integer
defaultValue
)
{
return
Convert
.
toInt
(
getRequest
().
getParameter
(
name
),
defaultValue
);
}
/**
* 获取request
*/
public
static
HttpServletRequest
getRequest
()
{
return
getRequestAttributes
().
getRequest
();
}
/**
* 获取response
*/
public
static
HttpServletResponse
getResponse
()
{
return
getRequestAttributes
().
getResponse
();
}
/**
* 获取session
*/
public
static
HttpSession
getSession
()
{
return
getRequest
().
getSession
();
}
public
static
ServletRequestAttributes
getRequestAttributes
()
{
RequestAttributes
attributes
=
RequestContextHolder
.
getRequestAttributes
();
return
(
ServletRequestAttributes
)
attributes
;
}
/**
* 将字符串渲染到客户端
*
* @param response 渲染对象
* @param string 待渲染的字符串
* @return null
*/
public
static
String
renderString
(
HttpServletResponse
response
,
String
string
)
{
try
{
response
.
setStatus
(
200
);
response
.
setContentType
(
"application/json"
);
response
.
setCharacterEncoding
(
"utf-8"
);
response
.
getWriter
().
print
(
string
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
* 是否是Ajax异步请求
*
* @param request
*/
public
static
boolean
isAjaxRequest
(
HttpServletRequest
request
)
{
String
accept
=
request
.
getHeader
(
"accept"
);
if
(
accept
!=
null
&&
accept
.
indexOf
(
"application/json"
)
!=
-
1
)
{
return
true
;
}
String
xRequestedWith
=
request
.
getHeader
(
"X-Requested-With"
);
if
(
xRequestedWith
!=
null
&&
xRequestedWith
.
indexOf
(
"XMLHttpRequest"
)
!=
-
1
)
{
return
true
;
}
String
uri
=
request
.
getRequestURI
();
if
(
StringUtils
.
inStringIgnoreCase
(
uri
,
".json"
,
".xml"
))
{
return
true
;
}
String
ajax
=
request
.
getParameter
(
"__ajax"
);
if
(
StringUtils
.
inStringIgnoreCase
(
ajax
,
"json"
,
"xml"
))
{
return
true
;
}
return
false
;
}
}
Prev
1
…
8
9
10
11
12
13
14
15
16
…
20
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment