WebSphere Portal v8.5中不提供render(Node aNode)方法

时间:2015-09-24 08:15:00

标签: java websphere-portal

我的coode目前有WPS v7,现在我需要迁移到WPS8.5。但我们正在使用以下方法

void render(节点aNode)

并且此方法在WebSphere Portal v8.5中不可用。

完整代码:

<%@ page session="false" buffer="none" %>
<%@ page   import="com.ibm.portal.*,com.ibm.portal.content.*,com.ibm.portal.navigation.*,com.ibm.wps.model.*" %>
<%@ page import="java.util.Iterator" %>




<% 


    ModelUtil modelUtil = ModelUtil.from(request);
    ContentNode currentNode =  ((NavigationNode)modelUtil.getNavigationSelectionModel().getSelectedNode( )).getContentNode();
    CompositionModel model = modelUtil.getCompositionModel(currentNode.getObjectID());
    CompositionNode currentElement =  CompositionNodeHelper.getCurrentNode(pageContext.getRequest ());

    int counter=0;

    String div = null;
boolean divRender = false;

for (Iterator iterator = model.getChildren(currentElement);iterator.hasNext();) {

    CompositionNode child = (CompositionNode) iterator.next();



    if(false && counter == 0 && model.hasChildren(child)){

        div = "<div id=\"main-content-portlet\">";
        divRender = true;
    }else if (counter == 1){
        div = "<div id=\"ibm-content-sidebar\">";
        divRender = true;
    }

    if(divRender){
        out.println(div);
    }

    model.render(child); **** ISSUE IS HERE WITH THE RENDER METHOD

    if(divRender){
        if(div.indexOf("ibm-content-sidebar") > 0){
            out.println("<div id=\"ibm-contact-module\"></div>");
            out.println("<div id=\"ibm-merchandising-module\"></div>");
            out.println("</div><!-- ibm-content-sidebar end -->");
        }else {

        }
    }

    counter++;
}

%>

这个render()方法在WPS v8.5中的模型调用中不可用...是否有任何替代方法可以继续进行或者有什么出路。

早期的答案将非常有帮助和赞赏。在此先感谢

1 个答案:

答案 0 :(得分:0)

看起来你正在尝试使用旧皮肤代码渲染portlet,你需要迁移你的皮肤才能使用8.5你最好的时间是创建一个新的8.5主题和皮肤和marge的外观和感觉而不是尝试迁移旧代码。

你可以抓住8.0皮肤并将它们放在适当的位置,然后修改它们使用的      &LT;门皮肤:layoutNodeRender /&GT; 渲染节点,它来自这个taglib &lt;%@ taglib uri =“http://www.ibm.com/xmlns/prod/websphere/portal/v8.0/portal-skin”prefix =“portal-skin”%&gt;