位置:com.liferay.util.BeanParamUtil
作用:在从request 里获取指定属性的值之前,动态设置默认参数。
方法及其功能:通常服务端,从Web 获取参数,当不能从前台获取完整参数时发生异常。若要避免也常,可以在服务端转发请求前,为其动态设置默认参数。当未能从前台获取参数时,使用默认参数。
public static [DataType] get[DataType]( Object bean, ServletRequest req, String param )
{
return get [DataType](bean, req, param, GetterUtil.DEFAULT_ [DataType]);
}
public static [DataType] get[DataType]( Object bean,
ServletRequest req,
String param,
[DataType] defaultValue )
{
[DataType] beanValue = null;
// (1)判断传入的bean 对象是否为空,若不为空则判断传入的对象中是否包涵名为param 的属性。
// 若包涵则将名为param 的属性的值赋给beanValue。
if (bean != null) {
try {
beanValue =
( [DataType])PropertyUtils.getSimpleProperty(bean, param);
}
catch (Exception e) {
_log.error(e);
}
}
//(2)判断是否从对象bean 中的获取名为param 的属性值。若未获取到则从request 中查找名为param
// 的属的值。若仍然不包含该值则用defaulValue 对其赋值。
if (beanValue == null) {
return ParamUtil.get(req, param, defaultValue);
}
//(3)若从对象bean 中获取了值beanValue,则以beanValue 作为默认值,从request 中查找param 属性。
else {
return ParamUtil.get(req, param, beanValue. [DataType]Value());
}
}
注意:区别于 ParamUtil 类,ParamUtil 的一系列get 方法也能够预设默认值,但是必须在知道具体属性的前提下,显式的为期望获取的属性设置默认值;而BeanParamUtil 可以动态的利用对象为其设置初始值,而不需要人为的分解对象各个属性再为其分配初始值。
作用:在从request 里获取指定属性的值之前,动态设置默认参数。
方法及其功能:通常服务端,从Web 获取参数,当不能从前台获取完整参数时发生异常。若要避免也常,可以在服务端转发请求前,为其动态设置默认参数。当未能从前台获取参数时,使用默认参数。
public static [DataType] get[DataType]( Object bean, ServletRequest req, String param )
{
return get [DataType](bean, req, param, GetterUtil.DEFAULT_ [DataType]);
}
public static [DataType] get[DataType]( Object bean,
ServletRequest req,
String param,
[DataType] defaultValue )
{
[DataType] beanValue = null;
// (1)判断传入的bean 对象是否为空,若不为空则判断传入的对象中是否包涵名为param 的属性。
// 若包涵则将名为param 的属性的值赋给beanValue。
if (bean != null) {
try {
beanValue =
( [DataType])PropertyUtils.getSimpleProperty(bean, param);
}
catch (Exception e) {
_log.error(e);
}
}
//(2)判断是否从对象bean 中的获取名为param 的属性值。若未获取到则从request 中查找名为param
// 的属的值。若仍然不包含该值则用defaulValue 对其赋值。
if (beanValue == null) {
return ParamUtil.get(req, param, defaultValue);
}
//(3)若从对象bean 中获取了值beanValue,则以beanValue 作为默认值,从request 中查找param 属性。
else {
return ParamUtil.get(req, param, beanValue. [DataType]Value());
}
}
注意:区别于 ParamUtil 类,ParamUtil 的一系列get 方法也能够预设默认值,但是必须在知道具体属性的前提下,显式的为期望获取的属性设置默认值;而BeanParamUtil 可以动态的利用对象为其设置初始值,而不需要人为的分解对象各个属性再为其分配初始值。