Show TOC

Component documentationTriggering Navigation Locate this document in the navigation structure

 

The following describes the methods for creating links to other navigation nodes:

  • Navigation Tag Library (JSP)

    The navigation tag library provides access to navigation nodes and can create navigation links from them.

    For example, the following exposes the navigation node ROLES://portal_content/myRole/myIView and creates a link for navigating to the node:

    Syntax Syntax

    1. <nav:navNode navTarget="ROLES://portal_content/myRole/myIView">
          <nav:navNodeAnchor navigationMethod="byURL"
              urlParameters="<%=urlParameters%>"
              anchorAttributes="class=\"myCSSstyle\""/>
      </nav:navNode>
      
    End of the code.

    The tag library is for portal components built from a JSP page.

    For more information, see Navigation Tag Library.

  • Client-Side Eventing (EPCM)

    The portal's client-side eventing mechanism (EPCM) provides a JavaScript function for navigating to a specific navigation node.

    The following creates a link for navigating to the ROLES://portal_content/myRole/myIView node:

    Syntax Syntax

    1. <a href="#"
      onclick="EPCM.doNavigate('ROLES://portal_content/myRole/myIView');
      return false;"> 
          This is an HTML link
      </a> 
      
    End of the code.

    For more information, see Enterprise Portal Client Framework (EPCF)

    Instead of writing the code for the EPCM.doNavigate call, you can get the code by calling NavigationEventsHelper.addClickEvent(), which creates the code and stores it as a StringBuffer in one of the function's parameter, as shown in the following:

    Syntax Syntax

    1. import com.sapportals.htmlb.Link;
      import com.sapportals.portal.navigation.NavigationEventsHelper;;
      import com.sapportals.portal.navigation.NavigationEventsHelperService;
      
      NavigationEventsHelperService service = (NavigationEventsHelperService)
          PortalRuntime.getRuntimeResources().getService(
          NavigationEventsHelperService.KEY);
      
      NavigationEventsHelper helper =
          service.getNavigationEventsHelperInstance();
      
      INavigationNode currNode = service.getCurrentContextNavNode(request);                   
      
      Link titleLink = new Link(
          currNode.getName(), currNode.getTitle(request.getLocale()));
      
      StringBuffer scriptTarget = new StringBuffer();
      
      helper.addClickEvent(
          currNode, scriptTarget, request, false, null);
      
      titleLink.setReference("javascript:void(0)");
      titleLink.setOnClientClick(scriptTarget.toString());
      titleLink.setLinkDesign(LinkDesign.DRAGRELATE);
      
    End of the code.
  • Portal Runtime Link (PRT)

    You can create a link to a specific portal component instead of to a node in the navigation hierarchy. Use the PRT API to create a link, as follows:

    Syntax Syntax

    1. IPortalComponentURI componentURI = request.createPortalComponentURI();
      componentURI.setContextName("myApplication.myComponent");
      myUrl = componentURI.toString();
      
    End of the code.

    Embed the myURL string in an HTML anchor tag.

    For more information on this API, see Request URL.