把IBM Portal应用到了一个小项目中.

Portlet在我看来无非只是在servlet再封装一层. Portal框架是一个标准的MVC架构, 它把WEB中的数据按SCOPE分为若干层, 比原先servlet多了几层, 这样就可以在各个层次上进行数据传递, 数据操作, 更快更安全地完成原来WEB页面功能. Portal通过这些层次结构来实现权限控制, 实现页面的动态布局. 我觉得Portal应该想要实现桌面程序的一些功能, 这些功能不仅仅在显示上. 贴两图吧:

Portlet 结构:

Portlet Scope:

另外, 需要注意的是PortletData中的数据只能在Edit模式下更改, PortletSettings中的数据只能在Config模式下更改. 我们一般实现原先WEB功能, 都在View模式下就OK了, 其他模式只是为了动态地控制页面布局之类的.

在Portlet中页面跳转, 不能直接写入URL进行跳转, 因为Portlet对页面的URL(URI)都进行过一些HASH操作. 所以在JSP页面中, 可能用Portlet的标签库生成跳转地址, 比如:

< FORM method ="post" action ="
<portletAPI:createURI>
<<portletAPI:URIParameter name=" action" value ="SearchUser" />
</ portletAPI:createURI >
">

当然参数action也可以用隐形控件来传递:

< FORM method ="post" action ="<portletAPI:createURI/>" >
< INPUT type ="hidden" name ="action" >
</ FORM >

具体跳转到哪里, 由对应的Portlet读取参数(这里为action), 再跳转到相应的地方, 具体的对应关系一般可写在配置文件中.

对于页面中包含JS源, 也一样, 不过路径一般不要相当于当前网页, 而是绝对的路径, 不然可能会找不到JS源:

< SCRIPT src =<portletAPI:encodeURI path="/js/Validator.js" /> type="text/javascript" language="JavaScript"></SCRIPT>

如果这些跳转要在JAVA文件中来生成, 则可以调用对应的PortletResponse的方法:

PortletURI uri = response.createURI(PortletWindow.State.MAXIMIZED);
uri.addParameter( " action " , " name " );

JS源:

response.encodeURL("/js/Validator.js");

要避免重名, 可用:

< portletAPI:encodeNamespace value =”name” />

或:

response.encodeNamespace("name");

Portlet中后台用PortletRequest request时, 用request.getParameter("user_id"); 能取得JSP页面中用tag进行编码的参数”<portletAPI:encodeNamespace value='user_id' />”.

注意的是在JSP页面上, request和response仍然是javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse, 而不是org.apache.jetspeed.portlet.PortletRequest和org.apache.jetspeed.portlet.PortletResponse.
不过在后台request.setAttribute(name, value)方式传到JSP的参数, 对于不同的Portlet, 哪怕是name一样, 它们在JSP中得到的value还是各自的value, 这可能Portlet对name进行了重新Hash编码.

Portal 使用。。。。。相关推荐

  1. portal认证 php,配置外置Portal认证示例(命令行)

    AC的配置文件 # sysname AC # http secure-server ssl-policy sslserver http server enable # portal https-red ...

  2. tiav15安装重启_西门子博途TIA Portal V15.1安装无限重启和.net3.5SP1错误处理

    这里给大家分享一下西门子博途TIA Portal V15.1的安装,其中很多朋友在安装过程中会遇到很多问题无法解决.这里一一说明. 一.安装电脑要求 下面是我的电脑 电脑要求 硬件要求:TIA软件主要 ...

  3. valve 的设计_向Valve Portal开发人员学习游戏设计原则

    valve 的设计 In this talk, Valve programers who created the game Portal discuss problems they faced in ...

  4. 《SharePoint Portal Server 2003 深入指南》出版预告

    <SharePoint Portal Server 2003 深入指南>在8月底.9月初应该就会上市了,如果您想得到这本书,方法包括: 1.等到书店到货之后,在书店购买. 2.网上订购.比 ...

  5. 源码分析 @angular/cdk 之 Portal

    @angular/material 是 Angular 官方根据 Material Design 设计语言提供的 UI 库,开发人员在开发 UI 库时发现很多 UI 组件有着共同的逻辑,所以他们把这些 ...

  6. 初步尝试Teamplate Workflow Web Part for SharePoint Portal Server

    试用了一天,记录一些使用体会,今天继续尝试.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:offi ...

  7. 修改机器名、IP对arcgis server、portal的影响?

    修改机器名.IP是否对ArcGIS Server .Portal等有影响? 请教赛姐:修改IP对ArcGIS Server .Portal 无影响,不过建议将ArcGIS Server .Portal ...

  8. 初学Portal的基本概念

            Portal的意思是门户的意思,我的初步了解就是将网络不同地方的资源根据用户的需要将其整合到一个页面中显示,省去了用户在查找一个主要信息时需要了解它的相关信息时要重新从这个网络大海中再 ...

  9. 关于captive portal

    portal是入口的意思,我的理解,在这里其实就是门户或者主页.captive portal,就是强制主页.校园网里面的验证通常都是通过一个网页验证来完成,不管你点要访问哪一个网站,它都会强制给你转到 ...

  10. article.app.php,【求助】修改app\portal\AdminArticle.php二次开发提交数据出错的疑问

    [求助]修改app\portal\AdminArticle.php二次开发提交数据出错的疑问 在使用thinkcmf的portal模块进行二次开发,需要对文章栏目分离管理,我复制了article的PH ...

最新文章

  1. Win7安装visual c++ 2015 redistributable x64失败
  2. 【IM】关于在线学习(被动攻击学习和适应正则化学习)的理解
  3. 使用Action,Data属性启动系统Activity
  4. 队列链式结构C/C++实现(数据结构严蔚敏版)
  5. raptor算法流程图例题_RAPTOR流程图+算法程序设计教程
  6. 一篇文章了解架构设计的本质
  7. scala集合中添加元素_如何在Scala中获得列表的第一个元素?
  8. 2021-11-10如何快速部署Ceph分布式高可用集群
  9. python处理期货数据_用Python下载并分析期货持仓数据
  10. java web 发送短信_java程序或javaweb(网站)向手机发送短信
  11. L9110H电机驱动模块-FPGA
  12. Behavior Designer 中文版教程
  13. 查找整数c语言程序,查找整数(示例代码)
  14. 外国人坐地铁到底玩不玩手机?
  15. 【C++】—— STL简介(了解)
  16. 程序实例python_程是什么意思 带程字的男孩名字 用程字起名的寓意
  17. nodejs和npm版本升级
  18. 7代cpu能装虚拟xp系统吗_VMWare 虚拟机使用技巧(2)
  19. 给博客增加豆瓣观影和阅读
  20. python语言可以处理数据文件吗_Python语言读取Marc后处理文件基础知识.pdf

热门文章

  1. 拼多多店铺的评价是真实的吗?它多久会消失?多多出评软件
  2. 我的新西兰打工旅行签证(Working Holiday Visa)申请之路
  3. JavaScript中强引用和弱引用
  4. 数据标注教程:上传和下载方法
  5. 小学数学教材分析——分数的定义
  6. 如何选性价比高的笔记本电脑,戴尔灵越16 Plus怎么样?
  7. 中小型项目手撸过滤器实现认证与授权
  8. 计算机通天之路第一季:计算机硬件基础
  9. App免填邀请码的解决方案
  10. 【安装python---电脑版】