2014-01-30 4 views
0

У меня есть портлет, в котором есть всплывающее окно. Содержимое всплывающего окна не изменяется, но вместо этого отображается одна и та же страница с того места, где она нажата. Когда я нажимаю кнопку уведомления, всплывающие окна, но с содержимым view.jsp.Всплывающее отображение одной и той же страницы в liferay

Весь код присутствует в View.jsp

<%@page import="com.mvantage.contract.model.Contract"%> 
<%@ include file="/init.jsp" %> 


<portlet:defineObjects /> 

<% 

PortletURL actionURL1=renderResponse.createActionURL(); 
actionURL1.setParameter(ActionRequest.ACTION_NAME,"navigateDashboard"); 
ArrayList<Contract> contractParameterList= (ArrayList<Contract>)renderRequest.getAttribute("contract");%> 



    <portlet:renderURL var="contractURL" windowState="<%= LiferayWindowState.POP_UP.toString()%>"> 
    <portlet:param name="jspPage" value="/html/popup.jsp" /> 
    </portlet:renderURL> 



    <script type="text/javascript"> 
    alert("Inside new popup"); 
    function showPopup() { 
     AUI().use('aui-dialog', 'aui-io', 'event', 'event-custom', function(A) { 

    var dialog = new A.Dialog({ 
     title: 'Pop Up', 
     centered: true, 
     draggable: true, 
     modal: true, 
     width: 500, 
     height: 500, 
     }).plug(A.Plugin.IO, {uri: '<%= contractURL %>'}).render(); 

     dialog.show(); 

    }); 
} 

<div id="container"> 

    <table cellpadding="0" cellspacing="0" border="0" class="display" id="example4"> 
     <thead> 
      <tr> 
      <th>a</th> 
      <th>b/th> 
      <th>c</th> 
      <th>d</th> 
      <th>e</th> 
      <th>f</th> 
      <th>g</th> 
      </tr> 
     </thead> 
     <tbody> 
     <%for(int i=0; i<contractParameterList.size(); i++){ 
      Contract contractParameter = new Contract(); 
      contractParameter = (Contract)contractParameterList.get(i); 
     %> 
      <tr class="odd gradeX"> 

      <td><%=contractParameter.getAssetName()%></td> 
      <%actionURL1.setParameter("assetId",contractParameter.getAssetID());%> 
      <td><a href="<%=actionURL1.toString()%>"><%=contractParameter.getAssetID()%></a></td> 
      <td><%=contractParameter.getCustomerName()%></td> 
      <td><%=contractParameter.getLocation()%></td> 
      <td><%=contractParameter.getRiskType()%></td> 
      <td><%=contractParameter.getContractNotificationTrigger()%></td> 
      <td><input class="notify" type="button" value="Notify" onclick="showPopup('<%=contractURL.toString()%>')"></td></tr> <%} %></tbody></table> <div style="clear:both;"></div></div> 
+0

"/html/popup.jsp" проверить свое местоположение. укажите структуру вашего проекта –

+0

Местоположение прекрасное. Файл находится по адресу «/abc-portlet/docroot/html/popup.jsp». – user3247723

ответ

0

Привет, вы можете попробовать ниже упрощенный код:

<aui:button value="Pop Up" icon="av-icon" iconAlign="left" 
        type="button" onClick="displayPopUp()" cssClass="notify" /> 
<script type="text/javascript"> 
    function displayPopUp(){ 
     Liferay.Util.openWindow({dialog: {width: 500,height: 500,destroyOnHide: true}, title: 'Pop Up', uri: '<%=contractURL%> 
    ' 
     }); 
    } 
</script> 
Смежные вопросы