无法从网址中检索值

时间:2015-05-26 04:21:44

标签: javascript liferay

<script type="text/javascript">
    function popupCreation(objct) {

        <% popupURL.setParameter("resourceKey", newVideoCode); %>

        var URL = '<%=popupURL%>';

        var jspPageUrl = '<%=popupURL%>';

        jspPageUrl = jspPageUrl + '&resourceKeyyy=';

        jspPageUrl = jspPageUrl + objct;

        alert(jspPageUrl);



        AUI().use('liferay-util-window', 'aui-io-deprecated', function (A) {

            modal = Liferay.Util.openWindow({

                dialog: {

                    id: 'discountpage',
                    centered: true,    
                    modal: true,    
                    width: 550,    
                    height: 50,

                },

                uri: URL

            });

        });
    }
</script>

<% 
  PortletURL popupURL=r enderResponse.createRenderURL(); 
  popupURL.setWindowState(LiferayWindowState.POP_UP); 
  System.out.println("dsfdsfdsp;fdpp------=--"+popupURL); 
  popupURL.setParameter("jspPage", "/html/viewvideoprice/details.jsp"); 
%>

我在第二个jsp中检索值为

String resourceKey=ParamUtil.getString(request, "resourceKey");

//System.out.println("x is >>" +resourceKey);

String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request);

System.out.println("currentCompleteUrl: "+currentCompleteUrl);

String[] partURL = currentCompleteUrl.split("&");

String currentURL = themeDisplay.getURLCurrent();

System.out.println(request.getContextPath());

String url = request.getRequestURI();

System.out.println(url); 

1 个答案:

答案 0 :(得分:0)

最可能的原因是您忘记在参数前加上<portlet:namespace />

当您使用portlet生成URL时,Liferay会自动添加名称空间:例如renderURL,以便它知道哪个参数适用于哪个portlet,因此您可以在同一页面上的多个portlet中使用参数“page”值。

如果您想在Javascript中将参数附加到网址,请在其前面添加<portlet:namespace />,因为ParamUtil正在查找具有正确名称空间的参数。