Show TOC

Positioning iViews on a PageLocate this document in the navigation structure

Context

This section describes how to position an iView within a container of a layout on a page.

Procedure


  1. Set the parameters for a JNDI lookup in the PCD.

    Hashtable env = new Hashtable();
    
    env.put(Context.INITIAL_CONTEXT_FACTORY,
        IPcdContext.PCD_INITIAL_CONTEXT_FACTORY);
    env.put(Context.SECURITY_PRINCIPAL, request.getUser());
    env.put(Constants.REQUESTED_ASPECT, PcmConstants.ASPECT_SEMANTICS);
    
                         
  2. Perform a lookup of the page on which you want to position an iView.

    InitialContext iCtx = null;
    try
    {
        iCtx = new InitialContext(env);
        IPage myPage =(IPage)iCtx.lookup(
            "pcd:portal_content/Desktop/finance");
    
                         
  3. Get a reference to the layout in which you want to move the iView, for example, by getting the default layout.

    ILayout myLayout = myPage.getActiveLayoutObject();
                         

    You can also get a list of a page's layouts by calling getLayouts() on the page.

  4. Position the iView by calling setiViewContainer() and specifying the iView that you want to move, a container, and the position within the container to which you want to move the iView. The first position is 0 , the second position is 1 , and so forth.

        myLayout.setiViewInContainer("testxml",
            "com.sap.portal.reserved.layout.Cont1",1);
                         

    This moves the testxml iView in the page to the second position in the com.sap.portal.reserved.layout.Cont1 container of the default layout.

  5. Save the changes to the layout.

    ...
     
        myLayout.save();
     
    }       
    catch(NamingException e)
    {
    }