个性化、用户属性与远程端口网络服务
1. 个性化与用户属性
1.1 信息来源与选择
在开发端口组件时,需要明智地利用屏幕空间,根据不同用户的需求动态调整显示内容。端口组件可获取的主要信息来源有登录信息和用户属性。登录信息较为可靠,由门户通过安全方式获取,若提供了主体信息,端口组件可自行验证其正确性。而用户属性则无保证,用户可能使用与他人相同的浏览器和 Cookie,或在填写注册表单时说谎或误解,所以不能仅因用户属性中显示了用户名,就认定这些属性是正确的。
在决定如何使用这些信息时,需先考虑业务需求,再将其编码到应用程序中。以下介绍两种实现方式:传统的“硬编码”技术和基于规则的“软编码”方法。
1.2 传统方法
传统的显示布局方法是编写根据各种变量状态进行分支的代码。以下是一个用于确定在线交易端口组件渲染内容的代码片段:
protected void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { Map ua = (Map) request.getAttribute(RenderRequest.USER_INFO); response.setContentType("text/html"); if (ua == null) { renderDefaultPortlet(request, response); } else { if