2010-01-12 84 views
2

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

我试图使用以下代码访问查看页面上的参数code,但值为null

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

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

回答

3

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

+0

铸件应在什么地方完成?我相信它必须在portlet的查看页面呈现之前完成。一旦呈现视图页面,请求参数就已经丢失。 – 2010-01-12 20:51:01

0

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

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

相关问题