Weblogic Web逻辑Portlet-获取查询字符串

Weblogic Web逻辑Portlet-获取查询字符串,weblogic,query-string,portlet,url-parameters,querystringparameter,Weblogic,Query String,Portlet,Url Parameters,Querystringparameter,我正在开发一个部署在WebLogicServer10下的portlet。在其他功能中,我的portlet需要获取URL中传递的一些参数,并根据每个参数做一些事情。好吧,我的问题是我无法找到获取查询字符串的正确方法。我在互联网上发现了不同的方法,但似乎没有一种在weblogic上有效。我能够获取服务器名称、上下文路径或其他信息,但没有查询字符串 有人知道这个问题的解决办法吗?或者至少给我一个线索?如果我从JSP获取它们,我是否能够将它们传递给.java类 致以最良好的祝愿, Adrian Zaha

我正在开发一个部署在WebLogicServer10下的portlet。在其他功能中,我的portlet需要获取URL中传递的一些参数,并根据每个参数做一些事情。好吧,我的问题是我无法找到获取查询字符串的正确方法。我在互联网上发现了不同的方法,但似乎没有一种在weblogic上有效。我能够获取服务器名称、上下文路径或其他信息,但没有查询字符串

有人知道这个问题的解决办法吗?或者至少给我一个线索?如果我从JSP获取它们,我是否能够将它们传递给.java类

致以最良好的祝愿,
Adrian Zaharia

Portlet技术提供了两种主要类型的URL—ActionURL和RenderURL

ActionURL在目标portlet上触发processAction(操作阶段方法) RenderURL将请求转发到目标portlet上的doView(呈现阶段方法)

另外,请注意,最好避免在呈现阶段更改任何portlet状态

通常,将参数传递给portlet的jsp会

        PortletURL url = renderResponse.createActionURL();
        url.setParameter("paramName", "paramVal");

        <a href="<%=url.toString()%>">Click Me</a>
        public void processAction(ActionRequest request, ActionResponse response)
        throws PortletException, PortletSecurityException, IOException {
               ....
               String paramVal = (String)request.getParameter("paramName");
               ....
        }

我找到了更好的解决方案。我可以得到如下的httprequest:

HttpServletRequest httpRequest = (HttpServletRequest) request.getAttribute("javax.servlet.request");
然后从名为referer的头中获取整个url:

String referer = httpRequest.getHeader("referer");
我想我应该分享。
谢谢

谢谢!我还找到了一种解决方法。我从JavaScript中获取了URL参数,并将它们放置在一个隐藏的输入中。然后我可以从请求中获取它们:D.当您有一个表单要在jsp中提交时,就可以了。