Liferay 常用基础类 —— com.liferay.util.BeanParamUtil

位置: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 可以动态的利用对象为其设置初始值,而不需要人为的分解对象各个属性再为其分配初始值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值