【问题标题】:How to pass and get URL parameters in IBM Webpshere Portal 6.1 JSF Portlets?如何在 IBM Webpshere Portal 6.1 JSF Portlets 中传递和获取 URL 参数?
【发布时间】:2010-01-12 08:35:38
【问题描述】:

我有一个简单的 HTML 页面,其中包含一个表单(使用 GET 方法),其操作是一个包含 JSF portlet 的门户页面。 我需要在我的 portlet 中访问传递到门户页面的参数 - 我该如何实现?

我尝试使用以下代码访问视图页面上的参数code,但值显示为null

java.util.Map requestMap = javax.faces.context.FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); 
String code = requestMap.get("code");

在其他一些论坛上,有人建议我需要将 portlet id 作为请求参数传递,以便让 portlet 访问传递的请求参数。如果这是真的,我可以在哪里/如何查找我的 portlet ID,以便 portlet 可以访问请求参数?

【问题讨论】:

    标签: jsf portlet websphere-6.1 websphere-portal


    【解决方案1】:

    我会调查public render parameters 的WebSphere 实现是否支持这一点。如果ExternalContext 请求参数映射没有公开这些值,您可以将the request 转换为PortletRequest 并使用Map<String,String[]> getPublicParameterMap() 方法。

    【讨论】:

    • 铸造应该在什么地方进行?我相信必须在呈现 portlet 的视图页面之前完成。因为一旦呈现视图页面,请求参数就已经丢失了。
    【解决方案2】:

    请参阅我的文章将查询参数传递给 JSR-286 portlet here

    我知道这是一种受支持的方式。我看到其他文章声称您可以简单地将 PortletRequest 转换为某些东西并获取参数。这可能不受支持,因为它取决于特定的实现和对内部类名的引用。我推荐上面的。

    【讨论】:

      猜你喜欢
      • 2011-10-18
      • 1970-01-01
      • 2012-10-09
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 2020-08-31
      相关资源
      最近更新 更多