Abstract portal component and JSP question

Can we use htmlb components in abstractportal components.
I am using isolatedhtmlcontainer in abstractportal component and it is not compiling. It works fine with Dynpage component
Also one more question can we just write a JSP to get the userid of the portal. I tried typecasting request object to IPortalComponentRequest , but iam not able to get the userid . Can anyone suggest anything . I want get the userid from the jsp and pass this userid to asp as query string
Thanks
LAK

Yes you can create a JSPDynPage and define the component type as NativeJSP in portalapp.xml for e.g.
  <i>      <property name="ComponentType" value="jspnative"/>
        <property name="JSP" value="pagelet/YourJSP.jsp"/></i>
The explicit object for IPortalComponentRequest is componentRequest in JSP. The other way to get componentRequest is
IPortalComponentRequest       currentRequest       = (IPortalComponentRequest) pageContext.getAttribute(javax.servlet.jsp.PageContext.REQUEST );
to get the user further just call currentRequest.getUser()

Similar Messages

  • Difference between Abstract portal Component and JSPDyn page.

    Hi Experts,
    What is the difference between Abstract portal Component and JSPDyn page.
    Thanks,
    Jay.

    Hi,
    The PDK provides two methods for creating a portal component:
    Abstract Portal Component
    The Abstract Portal Component class offers a lean method for writing HTML commands to the Web client as well as for basic event handling. It is an implementation of the IPortalComponent, which is the central abstraction of the Portal Component API.
    DynPage
    The Page Processor Component, which extends the Abstract Portal Component, returns a DynPage. It provides more sophisticated event handling. Controls that produce events (such as buttons and checkboxes) have an event attribute that contains the name of the event handling method. This event handling method is invoked by the DynPage when it occurs.
    The JSPDynPage is an implementation of the DynPage and allows the use of the DynPage in combination with JSP (Java Server Pages).
    The PDK documentation and examples focus on the DynPage. Easier event handling and the separatation of content development (JSP) from application development (Java) make the DynPage a better choice for components with interaction and changing content.
    For more details, Refer thes thread,
    https://fortress.wa.gov/dop/portal/irj/portalapps/com.sap.portal.pdk.basic.portalcomponentimplementation/docs/jspdynpage.html
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0b3e9d5-b2af-2a10-20ba-9f6ce6b1a27f
    Hop it helps..
    GS
    Edited by: Sathishkumar GS on Apr 14, 2008 2:07 PM

  • Abstract Portal Component and javascript

    Hi
    I'd written a Portal Abstract Component class in which i'm getting some values from a file and displaying the content as HTML in response.write()
    I'm getting a xml and with xslt i'm converting it into HTML. so in my html, there are some HREF links, on clicking it opens a new window and displays the data.
    Now my requirement is to call a method on clicking the link and also to refresh the page simultaneously.
    So when someone clicks on the link, through javascript i'm opening a new window.
    What i want is that on clicking the link:
    1) i want to call a method in the same class in order to update the number of clicks
    2) i want to refresh the page.
    Could you please guide me how to go for this.
    Thanks and Regards
    Puneet

    Question opened for long, so closing it

  • Abstract Portal Component VS Dynpage

    Can any one explain the differences between Abstract portal component and JSP DYN PAGE?
    When to use where ?
    How can we provide communication between iViews with in the same component / different components.
    Useful answers will be rewarded with points.
    Thanks

    Mohan,
    Abstract portal component as it says its an abstract component .In portal applications we have certain requirements which include only some business logic to be implemented ,for such cases u write the function in abstractportalcomponent and use this as a single entity.It generally not used for building applications with UIs..
    So for a portalapplication wher u need to include UI,controller,and databased/Backend connectivity .JspDynpage suits here.It is the framewrk provided which has JSP view,java controller,and beans model..
    For instance if u have developed a user login form and saving it to database.
    U develop it using JSPdynpage.
    But her if u have an enhancement of including the page to be printed.
    U can create a abstractportalcomponent and use it in earlier Jspdynpage.
    So advatage is modular specific business process can done and integrated with an application..
    Future advancements is easy.
    for performance info check this
    <a href="https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3fbea790-0201-0010-6481-8370ebc3c17d">pdf</a>
    Thanks,
    Swathi

  • Calling a JSP  from abstract portal component

    hi,
    I have included a JSP in a abstract portal component and on click of submit in 1st JSP i have to show an another JSP.How can i do this???
    Regards
    Sushanth

    When you say submit do you mean HTMLB submit or a normal HTML form submit?  If it's the latter, you just need an action on your form...
    <form action="jspfile2.jsp">

  • Stop/Kill a Abstract portal component

    Hi All,
    I am working on EP 7.0 version.
    I have created a Abstract Portal component and uploaded the par file using Portal Archive tool.
    I ran the component by executing the url as below:
    http://<hostname>:<Port no>/irj/servlet/prt/portal/prtroot/Parfilename.ComponentName.
    The componet is having a bug and it is running in an infinite loop.
    Please let me know how to stop/kill this component as its logging some statements infinitely.
    Thanks in Advance,
    -Pavan

    Hi,
    You'll need to restart the server.
    Regards,
    Alex

  • Writing HTML tags in Abstract Portal Component?

    Hi,
    I am trying to write some HTML tags in an Abstract Portal Component and I am facing problem to write  "/"
    Pls. let me know if there is any escape character or any other way of printing a "/" in a tag like as follows....
    response.write("</td>")
    <b>New Addition:</b>
      SORRY ... WE CAN Write </td> without any problem ..
      Due to some error on the top of the program this is wrongly shown...
    Thanks 
    Mrutyunjay
    Thanks & Regards
    Mrutyunjay

    Hi Nari,
    Follow the below steps:
    1. Store your properties files (test.properties, test_en.properties, test_xx.properties where xx is the locale ) in the folder PORTAL-INF ->Private ->classes
    2. In portalapp.xml for component-config, add this
    <property name="ResourceBundleName" value="test"/>
    3. In your abstract portal component you can use the below code to fetch the value for the key "SERVER_NAME".
        public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
             ResourceBundle resourceBundle = request.getResourceBundle();
             if(resourceBundle!=null)
                  response.write(resourceBundle.getString("SERVER_NAME"));
             else
                  response.write("Error");
    Let me know if you still face any issue.
    Thanks
    Prashant

  • Redirecting to external website from abstract portal component?

    Hi,
    I have developed an abstract portal component and trying to be redirected to an external website ex : www.google.com
    here is the code...
    public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
    HttpServletRequest req = request.getServletRequest();
    String queryString = req.getQueryString();
    String redirectURL = queryString.substring(queryString.indexOf("=")+1);
    HttpServletResponse resp = request.getServletResponse(true);
    resp.sendRedirect(redirectURL);
    OR
    RequestDispatcher rd = req.getRequestDispatcher("www.google.com");
    rd.forward(req, resp);
    But couldn't able to redirect in either ways ..
    exception was ... iView not found: www.google.com.
    Any help?
    Thanks
    MMK

    Hi Mohan,
    When you do a redirect you need to provide a URL. From javadocs
    Sends a temporary redirect response to the client using the specified redirect location URL. This method can accept relative URLs; the servlet container will convert the relative URL to an absolute URL before sending the response to the client.
    Thus when you provide just "www.google.com" the converted complete URL will be something like http://portalserver/irj....www.google.com whcih of course does not exist as a portal component. Thus you get the error iview not found.
    Hence you need to give a full URL and not a relative URL.
    Akhilesh

  • Accessing portal service from abstract portal component

    Hi
    I have created a portal service where it contains getdata() and putdata(String) methods.
    I have created a abstract portal component and trying to access the portal service from this component.
    In portalapp.xml file of the portal component i have created the sharing reference and i have given the service name.
    When i run the component it says service not found.
    Please let me know if i have missed some things
    Thanks and Regards
    NagaKishore

    Hi Prakash
    Sorry for the latereply.
    find below the code for the interface
    package com.sap.global;
    import com.sapportals.portal.prt.service.IService;
    public interface IGlobalContext extends IService
        public static final String KEY = "IGlobalContext.GlobalContext";
        public void putData(String strUserID,String strSessionID);
        public String getData();
    portalapp.xml file of the portal service.
    <application>
      <application-config/>
      <components/>
      <services>
        <service name="GlobalContext">
          <service-config>
            <property name="className" value="com.sap.global.GlobalContext"/>
            <property name="startup" value="true"/>
          </service-config>
          <service-profile>
            <property name="Test" value="true"/>
          </service-profile>
        </service>
      </services>
    </application>
    I am doing the following steps to access the portal service in the abstract portal component.
    1. Add the portal service to the java build path of the abstract portal component.
    2. do content method has the following code.
    String userid ="",sessionid="";
              response.write("Welcome");
              try
              IUserContext uc= request.getUser();
              userid = uc.getLogonUid();
              sessionid = request.getServletRequest().getSession().toString();
              response.write("Iview "+userid);
              IGlobalContext uid = (IGlobalContext)PortalRuntime.getRuntimeResources().getService(IGlobalContext.KEY);
              uid.putData(userid,sessionid);
              response.write(" Response from Service " + uid.getData());
             }catch (Exception e)
                  response.write(e.toString());
    3. portalapp.xml of abstract portal component
    <application>
      <application-config>
        <property name="SharingReference" value="GlobalContext"/>
      </application-config>
      <components>
        <component name="LandingPageComponent">
          <component-config>
            <property name="ClassName" value="com.satyam.landing.LandingPage"/>
          </component-config>
          <component-profile/>
        </component>
      </components>
      <services/>
    </application>
    I am getting the following error.
    Portal Runtime Error
    An exception occurred while processing a request for :
    iView : N/A
    Component Name : N/A
    Could not find portal application GlobalContext.
    Exception id: 11:53_08/04/05_0095_1641450
    See the details for the exception ID in the log file
    Thanks in advance
    Regards
    NagaKishore

  • Difference between abstract portal component ,dynpages and jsp dynpage

    Hi All,
    I am new to the SAP world.Can you help me out in finding the difference between abstract portal component ,dynpages and jsp dynpage in Portal development.Please send me  any information.

    Hi,
    Welcome to SDN Community
    This blog will brief you the differences between them,
    Java development methodologies (Part II)
    Regards
    Srinivasan T

  • Reading Session Variables in Abstract Portal Component/ JSP Dynpage or Java

    Hi All,
    I have a web dynpro for Java component which passes parameters in a session and also navigates to a Java application.
    Now when I try to read the session parameters in the Java application (JSPDynpage or Abstract Portal Component) I cannot retrieve the values.
    Can someone throw light on how I can achieve this within a Java application.
    Code is as enclosed below -
    WD for Java Code
      public void onActionClicked(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionClicked(ServerEvent)
    IClientSession session = Utils.getCurrentClientSession();
    IScope scope = session.getScope();
    scope.put("TestSession", wdContext.currentContextElement().getTxtValue());
    WDPortalNavigation.navigateAbsolute(
    "ROLES:portal_content/com.be.pct.cr.Test/DynProToNet",
    WDPortalNavigationMode.SHOW_INPLACE,
    (String)null,
    (String)null,
    WDPortalNavigationHistoryMode.NO_DUPLICATIONS,
    (String)null,
    (String)null,
    (String)null);
        //@@end
    Code within the Abstract Portal Component doContent method is -
    IPortalComponentSession ses;          
    ses = request.getComponentSession();
    String TestSession = new String();
    String sTest = new String();
    String sTesting = new String();
    if(ses.getValue("TestSession")!= null){
    TestSession = ses.getValue("TestSession").toString();
    if(request.getParameter("TestSession")!= null){
    sTest = request.getParameter("TestSession");
    if( request.getValue("TestSession")!= null)
    sTesting = request.getValue("TestSession").toString();
    response.write("Display"TestSessionsTest+sTesting);
    Any help is highly appreciated.
    Thanks in advance,
    Divya

    Hi,
      Why not use eventing between webdynpro and portal applications? That would be more easy. Check these documents.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60d7d690-0201-0010-e581-9c4fc69cec0e
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d48eaa90-0201-0010-58a8-887fc8632c3c
    Regards,
    Harini S

  • Size limitation for a .jsp in abstract portal component

    Hi all,
    i am facing a problem in case of size of .jsp file in abstract portal component. if i remove some of the content from that file then it works fine,
    do anybody know is there a limitation from Portal side, or any body know the solution for this .
    thanks in advance
    Kedar

    When you say submit do you mean HTMLB submit or a normal HTML form submit?  If it's the latter, you just need an action on your form...
    <form action="jspfile2.jsp">

  • IPortalComponentRequest in JSP from Abstract Portal component

    Hi,
    I have an abstract portal component like this:
    import com.sapportals.portal.prt.component.*;import com.sapportals.portal.prt.resource.IResource;public class Nav2 extends AbstractPortalComponent{    public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)    {          IResource jspResource = request.getResource(IResource.JSP, "jsp/Nav2.jsp");          response.include(request, jspResource);    }}
    Now in the called JSP, I want to use the request object.
    e.g.
    Hashtable env = new Hashtable();env.put("NavigationPrincipal",request.getUser());
    But, the request object is not available.
    How to I get the same object available here?

    Hi Praveen,
    Thanks for the solution but I get some error when I add
    String theCall = service2.createAbsoluteNavigateClientCall(myNavNode.getName(),IClientNavigationGenerator.SHOW_INPLACE,null,null);
    The code is like this:
    import com.sapportals.portal.prt.component.*;
    import com.sapportals.portal.prt.resource.IResource;
    import java.util.*;
    import com.sapportals.portal.navigation.*;
    import com.sapportals.portal.prt.runtime.*;
    import com.sapportals.portal.prt.session.IUserContext;
    import com.sapportals.portal.prt.util.StringUtils;
    public class Nav2 extends AbstractPortalComponent
        public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
              //IResource jspResource = request.getResource(IResource.JSP, "jsp/Nav2.jsp");
              //response.include(request, jspResource);
              response.write("hello india");
              Hashtable env = new Hashtable();
              env.put("NavigationPrincipal",request.getUser());
              INavigationService service = (INavigationService) PortalRuntime.getRuntimeResources().getService(INavigationService.KEY);
              INavigationNode myNavNode = service.getNodeByQuickLink(env,"help");
              IClientNavigationGenerator service2 = (IClientNavigationGenerator) PortalRuntime.getRuntimeResources().getService(INavigationService.KEY);
              String theCall = service2.createAbsoluteNavigateClientCall(myNavNode.getName(),IClientNavigationGenerator.SHOW_INPLACE,null,null);
    Can you please help out on this one?
    Thanks

  • Adding UI elements to Abstract Portal Component??

    Hi,
    I want to create an abstract portal component in PDK with a textarea and a submit button..On clicking the submit button I want to store the textarea content in a file..So can anyone provide me the solution to this soon??
    Regards,
    Udit

    Hi Udit,
    take a look at
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/ce/e0a341354ca309e10000000a155106/frameset.htm">this</a>
    example.
    Mofify the OutputSuccessText.jsp in away, that it will not print the given text to the screen but stores it in a file. This can be done with standard java coding.
    HTH,
    Carsten
    P.S.: Please consider rewarding points for useful answers in SDN. Doing so the question will be remarked as answered and the assistance will be rewarded!
    Message was edited by:
            Carsten Buechert

  • Use WebDynpro JCO Destination in Abstract Portal Component

    Hello,
    I was wondering if it is possible to use a WebDynpro JCo Destination in an Abstract Portal Component? I have a portal component that make as JCO call to run an rfc. I get the MYSAPSSO2 ticket from the cookie and pass this in to the JCO client. This works fine. Now I need to be able to run this for anonymous users as well. I was hoping to be able to retrieve a WebDynpro JCo destination that is set up as a userid/password type and use this to make the connection to run my RFC. This way I could avoid having to store the userid and password somewhere and encrypt/decrypt  it etc...
    Thanks,
    Bert

    Yes Asusha
    You can use JSP , JSPDyn pages in Abstract portal component.
    You can call a Jsp file from the abstract portal component.
        public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
         com.sapportals.portal.prt.resource.IResource somePage =          
                   request.getResource("jsp", "pagelet/test.jsp");
                   response.include(request, somePage);
    Then you can made your desired UI in JSP.
    Hope this helps..
    Cheers
    Chinmaya
    Reward for helpful answers

Maybe you are looking for