如何在IBM Websphere Portlet中使用ng-include(AngularJS)包含部分内容

时间:2014-12-19 09:42:19

标签: portlet angularjs-ng-include

我正在使用ng-include指令在IBM websphere Portlet中包含部分视图。代码片段在下面

1.定义渲染网址

 <portlet:defineObjects /> 
 <portlet:renderURL var="resourceURL" windowState="MINIMIZED" portletMode="view">
     <portlet:param name="jspPage" value="/partials/list.html" />   
 </portlet:renderURL>

2.Main.js

 <script>
    var myApp = angular.module("App", []);
    myApp.controller("myCtrl", function ($scope ) 
          { 
                $scope.page='<%=resourceURL%>';
           });
</script>

3.Home.jsp

<div  id="<portlet:namespace />main" data-ng-app="App" data-ng-controller="myCtrl"  >   
   <div ng-include src="'page'"></div>
<div>

但不包括部分内容。任何人都可以建议我如何解决这个问题吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您需要更改代码以转到portlet上下文路径:

替换:

<%=resourceURL%> 

<%=renderResponse.encodeURL(renderRequest.getContextPath():%>

这将有效:

<div ng-include="'<%= renderResponse.encodeURL(renderRequest.getContextPath() + "/scripts/mypage.tpl.html") %>'"></div>