如何在IBM Websphere Portal 6.1 JSF Portlet中传递和获取URL参数?

时间:2010-01-12 08:35:38

标签: jsf portlet websphere-6.1 websphere-portal

我有一个简单的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可以访问请求参数?

2 个答案:

答案 0 :(得分:3)

我会研究public render parameters的WebSphere实现是否支持这一点。如果ExternalContext请求参数地图未公开这些值,您可以将the request投射到PortletRequest并使用Map<String,String[]> getPublicParameterMap()方法。

答案 1 :(得分:0)

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

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