上一篇 | 下一篇

WebLogic Portal 8.1 中的 URL

发布: 2008-7-01 21:26 | 作者: admin | 来源: | 查看: 0次

<%

ResourceURL url = ResourceURL.createResourceURL(request, response);

url.setScheme("http");

url.setDomain("my.domain.com");

url.setPort(8001);

url.setPathPrefix("/static");

url.setTemplate("my-resource-template");

url.setPath("/images/my.jpg");

%>

  此片断使用 my-resource-template 创建到图像的链接。执行时 , 该 JSP 生成以下代码 :

提示 : 确保正在使用的 URL 模板具有与 setter 方法相对应的标志。如果没有 , WebLogic Portal 将忽略到 setter 的调用。

  注意 , 模板必须存在于 my-resource-template 文件中 , 此片断才能生效。模板还必须具有一个指定的 url:prefix 标志 , setPathPrefix() 方法将替换 该标志。 在 com.bea.portlet.GenericURL 或其子类的位置 , 您可以使用在呈现标记库中可用的 URL 标记创建 URL 来代替。例如 , 可以使用 renderUrl JSP 标记来重写上述 JSP 片断 :

<%@ taglib uri="render.tld" prefix="render" %>

scheme="http" domain="my.domain.com"

pathPrefix="/static" path="/images/my.jpg"/> "/>

  注意 , 所有的框架主干 JSP 均使用呈现标记创建到窗口模式 / 状态按钮的链接、到页面的链接 , 等等。

在Portlet中使用URL模板

  使用 Page Flow 和 Struts 标记在 Page Flow 和 Struts portlet 中创建表单、链接等时 , 这些 JSP 标记通过 URL 重写程序将 URL 创建委派给 WebLogic Portal 。这些 URL 重写程序使用 jpf-url-templates 指定的 URL 模板创建 URL 。

  WebLogic Portal 中的 portlet 容器使用类似的方法处理 Java portlet 。创建 javax.portlet.PortletURL 时, portlet 容器使用在 url-templates-config.xml 文件中指定的 java-portlet-url-templates 。下面是一个示例:

<%

PortletURL actionURL = renderResponse.createActionURL();

PortletURL renderURL = renderResponse.createRenderURL();

%>

  WebLogic Portal 将分别使用 “ 操作 ” 和 “ 资源 ” 类型的 URL 模板生成这两个 URL 的字符串值。

远程Portlet中的URL

  当您使用WSRP消费远程portlet时,确保远程portlet返回的标记引用门户至关重要(WSRP Consumer)。使用远程portlet时,Consumer充当最终用户和WSRP Producer上部署的portlet的中间件。一般情况下,Producer可能设置安全性策略,限制最终用户对部署在Producer上的资源的访问权限。所以,未使用WebLogic Portal创建的链接在远程portlet上可能失败。

  WSRP 1.0规范为URL创建指定了两种方法:“producer writing”和“consumer rewriting”。下面简要介绍一下这两种方法。

Producer Writing

  此方法包括以下步骤:

Consumer 将一组 URL 模板发送给 Producer 。这些 URL 模板在结构上类似于上面讨论的模板 , 不同的是它们包含由 WSRP 1.0 规范指定的标记。

Producer 使用这些 URL 模板创建 URL , 并向 Consumer 返回标记。

如果需要 , Consumer 可以进一步处理 URL 以便 URL 引用 Consumer 。

  在这三个步骤中 , 只有第三步依赖于 WSRP Consumer 的实现方式。如果 WebLogic Portal 就是 Consumer , 则 Producer 的 URL 的编写包括以下步骤 :

WebLogic Portal 使用一组用于远程 portlet 的 URL 模板。这些模板连同其他 URL 模板一起在 url-templates-config.xml 文件中声明。门户 Web 应用程序的 WEB-INF 目录中的 wsrp-producer-registry.xml 文件指定了必须用于远程 portlet 的 URL 模板的名称。注意这些模板中出现的额外标志。例如, wsrp-default 模板具有类似 {wsrp-interactionState} 、 {wsrp-navigationalState} 和 {wsrp-mode} 的标志。 WSRP 1.0 规范描述这些标志的意义。

[8]

字号: | 推荐给好友

评分:0

我来说两句