HTMLB events in AbstractPortalComponent

Hello,
I have a portal component that inherits from AbstractPortalComponent. I'd like to use HTMLB and its controls (tableView for example) to display the data in the portal. But how do I have to do the event handling for the HTMLB controls? Usually one would say:
<hbj:tableView onNavigate="onNavigate" ... />
But how do I have to handle this event in my class that inherits from AbstractPortalComponent? Do I have to use the doRequestEvent() method? If so, what's the name of the event? Or do I have to implement a onNavigate() method - as if I would use a JSPDynPage?
Or is it not possible to use HTMLB controls and a AbstractPortalComponent together?
Kind regards, Lars

hi,
   Try this.
IPageContext context = PageContextFactory.createPageContext(request, response);
// get the event
    Event event = context.getCurrentEvent();
if (event.getAction().equalsIgnoreCase("onNavigate")) {
//write your event handling method
Regards,
Srinath

Similar Messages

  • Handling HTMLB events in BSPs???

    Hi all,
    can anybody tell me the how to handel events in BSPs??

    Hi Aravind,
    Follow the link  /people/brian.mckellar/blog/2004/07/28/bsp-programming-handling-htmlb-events u can understand.

  • Events in AbstractPortalComponent

    Hi,
    My AbstractPortalComponent dynamically builds a Form component with a collection of InputFields, RadioButtons and a Button for submit.
    I can handle the "submit" event just fine, but what I would like to do is retrieve an array of components (all input fields and radio buttons attached to the form).  The reason is that my component ids are generated dynamically, but with a specific naming convention.  I was trying to avoid having to persist the component id names.
    I have tried using getComponents from IPageContext and Form.iterator, but my array is empty. 
    Does anyone know if this is possible or do I just need to accept having to persist the component ids?
    Thanks in advance for any advice.
    Regards,
    Ann

    Hi Umair,
    I finally figured it out.  I found a method that produced exactly what I needed.
    Below is a snipet of code that will list ids of the components associated with a form.  For my case, it listed my radio buttons, input fields and button.  I did not "id" my text views, so I am not sure if it will list those.
    Iterator nameList = context.getOldForm().getRegisteredElementNames();
    if (nameList == null)
       response.write("Name List is null<br>");
    else
       while (nameList.hasNext())
         String name = nameList.next().toString();
         response.write("<br>Element Name:" + name);
    Thanks for your reply though!
    Ann

  • HTMLB eventing using javascript

    Hello experts,
    I have a requirement which i am unable to figure out how to do it .
    I have HTMLB dropdown in which the items are popolauted using listitembox. Now my requirement is to disable another drop down depending upon the value selected in this dropdown .
    There is no controller in this PDK component . Hence need to use javascript to handle this . But not able to do it.
    Could anyone help me in resolving this .
    Points will be awared.
    Regards,
    Pratima.

    Hi,
    never used, but found here: [http://www.sapdesignguild.org/resources/htmlb_guidance/index.html|http://www.sapdesignguild.org/resources/htmlb_guidance/index.html] in this part: [http://www.sapdesignguild.org/resources/htmlb_guidance/dropdown_dev.html|http://www.sapdesignguild.org/resources/htmlb_guidance/dropdown_dev.html] that it should support onClientSelect event - that should do it.
    Romano

  • URGENT :  Javascript in HTMLB event .

    Is it possible to call a Javascript function on "onCellClick" event of tableview control's cell ?
    If yes, can any1 plz give me a sample code ?
    Its urgent.
    Thanks in advance ,
    Arijit B.

    check the rules of engagement.
    :O Rules of Engagement --- 2005-02-25
    avoid using URGENT.
    check the following thread
    https://forums.sdn.sap.com/click.jspa?searchID=2227965&messageID=2057396
    <i>Is it possible to call a Javascript function on "onCellClick</i>
    no that would trigger server event
    Raja
    Message was edited by:
            Durairaj Athavan Raja

  • Client side eventing with HTMLB in a jsp file

    Hi All,
    Can u give me the solution to work with client side eventing with HTMLB with a jsp page but not with a dynpage.
    Regards,
    sireesha.

    Hi sireesha,
      Check this.
    <%@ taglib uri="tagLib" prefix="hbj" %>
    <%@ page import="com.sapportals.htmlb.enum.EventTrigger,com.sapportals.htmlb.event.Event" %>
    <hbj:content id="myContext" >
    <hbj:page title="PageTitle">
    <script language="Javascript">
    function checkinput(){
         var funcName = htmlb_formid+"_getHtmlbElementId";
         func = window[funcName];
         var inputfield1 = eval(func("inf1"));
         var input1 = inputfield1.getValue();
         if (input1==""){
              alert("Enter mandatory fields");
    </script>
    <hbj:form>
    <hbj:textView id="tv1" text="Name"/>
    <hbj:inputField id="inf1"
    type="String"
    required="true"
    jsObjectNeeded="true">
    <% inf1.setClientEvent(EventTrigger.ON_BLUR, "checkinput()"); %>
    </hbj:inputField>
    <br>
    <hbj:textView id="tv2" text="City"/>
    <hbj:inputField id="inf2" type="String"/>
    <hbj:button id="b1" text ="submit" onClick="onSubmitclicked"/>
    </hbj:form>
    </hbj:page>
    </hbj:content>
    Regards,
    Harini S

  • EP 6.0 SP2: Update a HTMLB TableView after onClick Event

    Hello,
    i generate a TableView from a JDBC database selection.
    Outside this TableView there are 3 Buttons.
    Now the problem:
    If one of the buttons will click, the TableView has to be updated with a new database result. Have somebody an idea, how to update the TableView?
    Stephan

    Could you be more precise?
    Default behaviour/coding is that an onClick event effects a request to the server - as your component/dynpage handles this request, you should be able to present anything that you like on this occasion. Maybe you code does not react to the HTMLB event properly?
    Regards,
    Armin

  • Client side eventing with HTMLB

    Hi All,
    I am trying to access the HTMLB elements from jsp page to java script and failed to handle an event.
    My requirement is, i have a form designed in First.jsp which is having 2 input fileds and both are mandatory. I want to display a msg to the user if he try to skip those 2 input fileds without value.
    This i tried with dynpage it is working but i want to have with a JSP page, ie., all the presentation is in jsp file. so, how can i access those 2 input fileds in java scipt function?
    If anybopdy is having an idea or a sample code please share here.
    Thanks in advance,
    Regards,
    sireesha.

    Hi Harini,
    Thanks for your reply.I tried the same code but it is not showing the alert, i couldn't find where exactly the problem is!
    Here i am putting my code please go through it and help me.
    JSP file:
    <%@ taglib uri="tagLib" prefix="hbj" %>
    <%@ page import="com.sapportals.htmlb.enum.EventTrigger,com.sapportals.htmlb.event.Event" %>
    <hbj:content id="myContext" >
      <hbj:page title="PageTitle">
      <script language="Javascript">
              function checkinput(){
              var funcName = htmlb_formid+"_getHtmlbElementId";
              func = window[funcName];
              var inputfield1 = eval(func("inf1"));
              var input1 = inputfield1.getValue();
              if (input1==null)
              alert("Enter mandatory fields");
         </script>
       <hbj:form>
           <hbj:textView id="tv1" text="Name"/>
              <hbj:inputField id="inf1"
                              type="String"
                              required="true">
           <% inf1.setJsObjectNeeded(true);
           inf1.setClientEvent(EventTrigger.ON_BLUR, "checkinput()"); %>
           </hbj:inputField>
           <br>
           <hbj:textView id="tv2" text="City"/>
           <hbj:inputField id="inf2" type="String"/>
           <hbj:button id="b1" text ="submit" onClick="onSubmitclicked"/> 
        </hbj:form>
      </hbj:page>
    </hbj:content>
    Regards,
    sireesha.

  • Proplem: Access HTMLB controls from java code

    Hi,
    I am new to iView development for EP6. So my problem should be easy to solve (for you ).
    I created in the NW Dev Studio a JSP DynPage.
    The following files were created or edited:
    1.     JSP file (created)
    2.     java file (created)
    3.     portalapp.xml (edited)
    In order to make the page running (proccessing) I changed the following things:
    1.     JSP file – Add taglib reference to HTMLB-class
    2.     portalapp.xml – Remove the „native“ property so the JSP file will not be accessed directly.
    Now I want to do the following:
    On the JSP page I placed severeal HTMLB controls (textViews).
    From the java code I try to access these controls in the „doProcessBeforeOutput“ method and change/set values.
    But I get all the time a null-Exception.
    Code (JSP)
    <%-- mcmsprovider.jsp --%>
    <%@ taglib uri= "tagLib" prefix="hbj" %>
    <hbj:content id="cntMcmsProvider" >
      <hbj:page title="MCMS Provider Dynpage">
       <hbj:form id="frmMcmsProvider" >
                 <hbj:textView id="tvwScript" encode="false"></hbj:textView>
                 <hbj:textView id="tvwStyle" encode="false"></hbj:textView>
       </hbj:form>
      </hbj:page>
    </hbj:content>
    Code (JAVA):
    public void doProcessBeforeOutput() throws PageException {
           this.setJspName("mcmsprovider.jsp");
           TextView tvw = (TextView) this.getComponentByName("tvwStyle");
           tvw.setText("Here the dynamic text");
    I also tried to add raw text to the form but also null excpetion:
    public void doProcessBeforeOutput() throws PageException {
           this.setJspName("mcmsprovider.jsp");
           Form frmCurrent = (Form) this.getForm();
           frmCurrent.addRawText("<h3>This comes from here</h3>");
    My goal is to dynamically add controls to the form, but until now I think it will be a dream:
    public void doProcessBeforeOutput() throws PageException {
           this.setJspName("mcmsprovider.jsp");
      Form form = (Form)this.getForm();
           TextView tvw  = new TextView("tvwDynamic");
           tvw.setText("Here the dynamic control");
           form.addComponent(tvw);
    The normal page processing runs:
    public void doProcessBeforeOutput() throws PageException {
           this.setJspName("mcmsprovider.jsp");
    Any help is greatly appreciated.

    Eike
    Here is the example straight from the PDK documentation. This should help you a little
    UsingAbstractPortalComponentWithHTMLB.java
    import com.sapportals.htmlb.*;
    import com.sapportals.htmlb.enum.DataType;
    import com.sapportals.htmlb.enum.GroupDesign;
    import com.sapportals.htmlb.event.Event;
    import com.sapportals.htmlb.rendering.IPageContext;
    import com.sapportals.htmlb.rendering.PageContextFactory;
    import com.sapportals.portal.prt.component.AbstractPortalComponent;
    import com.sapportals.portal.prt.component.IPortalComponentRequest;
    import com.sapportals.portal.prt.component.IPortalComponentResponse;
    public class UsingAbstractPortalComponentWithHTMLB extends AbstractPortalComponent {
        //Fill in your output for "normal" content creation mode here
        protected void doContent(IPortalComponentRequest request, IPortalComponentResponse response) {
            IPageContext myContext = PageContextFactory.createPageContext(request, response);
            if (myContext == null) {
                System.out.println("htmlb service did not start up as expected.");
            Form myForm = myContext.createFormDocument("First Experiment");
            Event lastEvent = myContext.getCurrentEvent();
            Group myGroup = new Group();
            myGroup.setWidth("350");
            myGroup.setTitle("First Experiment");
            myGroup.setDesign(GroupDesign.SAPCOLOR);
            myForm.addComponent(myGroup);
            GridLayout gl = new GridLayout();
            myGroup.addComponent(gl);
            if ((lastEvent != null) && (lastEvent.getComponentName().equals("submit"))) {
                String name = myContext.getDataForComponentId("USER_NAME").toString();
                TextView label = new TextView("Hi, " + name);
                gl.addComponent(1, 1, label);
                Button myButton = new Button("goback", "Go back");
                myButton.setOnClick("goBack"); // ignored anyway
                gl.addComponent(2, 1, myButton);
            } else {
                TextView label = new TextView("What's your name?");
                gl.addComponent(1, 1, label);
                InputField inf = new InputField("USER_NAME");
                inf.setType(DataType.STRING);
                gl.addComponent(1, 2, inf);
                Button myButton = new Button("submit", "Tell");
                myButton.setOnClick("submit");
                gl.addComponent(2, 2, myButton);
            myContext.render();

  • HTMLB Code not working Please help.....

    Hello All,
    Ive new in HTMLB. Have written this code wherein a JSP page is called from a JSPDynPage file. But am <b>not getting any output. Its all blank.</b> Dunno if im going wrong .... Please help.
    Struggling with this since y'day.
    <b>CODE</b>:
    <u><b>UserInfoDynPage.java</b></u>
    package com.sap.sample;
    import com.sapportals.htmlb.*;
    import com.sapportals.htmlb.enum.*;
    import com.sapportals.htmlb.event.*;
    import com.sapportals.htmlb.page.*;
    import com.sapportals.portal.htmlb.page.*;
    import com.sapportals.portal.prt.component.*;
    public class UserInfoDynPage extends PageProcessorComponent
    {     public DynPage getPage()
         {     return new UserInfoDynPageDynPage();
           public static class UserInfoDynPageDynPage extends JSPDynPage
           {     //private UserInfoBean UserInfoBean = null;
             public void doInitialization()
             {          IPortalComponentRequest request = (IPortalComponentRequest) this.getRequest();
                       IPortalComponentSession componentSession = ((IPortalComponentRequest)getRequest()).getComponentSession();
                    /*Object o = componentSession.getValue("UserInfoBean");
                    if(o==null || !(o instanceof UserInfoBean))
                    {     UserInfoBean = new UserInfoBean();
                      componentSession.putValue("UserInfoBean",UserInfoBean);
                    else
                    {     UserInfoBean = (UserInfoBean) o;
                    // fill your bean with data here...
        public void doProcessAfterInput() throws PageException
        public void doProcessBeforeOutput() throws PageException
        {     this.setJspName("UserInfo.jsp");
    <u><b>UserInfo.jsp</b></u>
    <%@ taglib uri="tagLib" prefix="hjb" %>
    <hbj:content id="myContext" >
         <hbj:page title="UserInfo Page">
            <hbj:form id="myFormId" >
                 <hbj:textView id="title" text="Search Screen" design="STANDARD" />
                 <table>
                      <tr>
                           <td>
                                <hbj:label id:"lb_Search" text"Search For" labelFor="search" />
                           </td>
                           <td>
                                <hbj:inputField id="search" type="string" maxlength="25" />
                           </td>
                      </tr>
                      <tr>
                           <td>
                                <hbj:label id="lb_SearchType" text="Search Type" labelFor="searchType" />
                           </td>
                           <td>
                                <hbj:dropdownListBox id="SearchType" tooltip="UME Object  to search for" disabled="false">
                                     <hbj:listBoxItem key="user" value="User" />
                                     <hbj:listBoxItem key="group" value="Group" />
                                     <hbj:listBoxItem key="role" value="Role" />
                                </hbj:dropdownListBox>
                           </td>
                      </tr>
                 </table>
                 <br>
                 <hbj:button id="submit" text"search!" tooltip="Click me to search" disabled="false" design="emphasized" />
                 <br>
                 <br>
       </hbj:form>
      </hbj:page>
    </hbj:content>
    <u><b>Portalapp.xml</b></u>
    <?xml version="1.0" encoding="utf-8"?>
    <application>
      <application-config>
        <property name="PrivateSharingReference" value="com.sap.portal.htmlb"/>
      </application-config>
      <components>
        <component name="UserInfoDynPage">
          <component-config>
            <property name="ClassName" value="com.sap.sample.UserInfoDynPage"/>
            <property name="ComponentType" value="jspnative"/>
            <property name="JSP" value="pagelet/UserInfo.jsp"/>
          </component-config>
          <component-profile>
               <property name="tagLib" value="/SERVICE/htmlb/taglib/htmlb.tld"/>
          </component-profile>     
        </component>
      </components>
      <services/>
    </application>
    =============
    Please help.
    Awaiting Reply.
    Thanks,
    Uday
    Message was edited by: Uday Hardikar

    Hi BHI,
    Thank you for your input.
    Had made silly mistake and got solved.
    And now, I have another problem which is related to this same program but the error seems to be a different one.
    Have posted another query:
    Error in HTMLB program..Please help..Urgent OR Error in HTMLB program..Please help..Urgent
    Please help me as its kinda urgent.
    Thanks in advance.
    Uday

  • Com.sapportals.htmlb.FileUpload;

    Hi Experts,
    I am building this file upload utility.
    Following is my code"
    package com.xyz.ws.di;
    import java.io.Serializable;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import com.sapportals.htmlb.event.Event;
    import com.sapportals.htmlb.rendering.IPageContext;
    import com.sapportals.htmlb.rendering.PageContextFactory;
    import com.sapportals.htmlb.FileUpload;
    import com.sapportals.portal.prt.component.*;
    import com.sapportals.wcm.repository.AccessDeniedException;
    import com.sapportals.wcm.repository.Content;
    import com.sapportals.wcm.repository.ICollection;
    import com.sapportals.wcm.repository.IResource;
    import com.sapportals.wcm.repository.NotSupportedException;
    import com.sapportals.wcm.repository.ResourceContext;
    import com.sapportals.wcm.repository.ResourceException;
    import com.sapportals.wcm.repository.ResourceFactory;
    import com.sapportals.wcm.util.uri.RID;
    import com.sapportals.portal.security.usermanagement.IUser;
    public class FileUpload implements Serializable{
             protected IPortalComponentRequest request;
              protected IPortalComponentResponse response;
              protected IPortalComponentSession session;
              protected IPortalComponentContext context;
              protected IPortalComponentProfile profile;
              protected String userId;
              protected String fileName;
              private DAO DAO = null;
              private final static int INITIAL_STATE = 0;   
              private final static int ERROR_STATE = 1; 
              private int state = INITIAL_STATE;
              public void uploadUtility(IPortalComponentRequest request, IPortalComponentResponse response)
                   String mimetype;
                   String resourceName;
                   String repository;
                   FileInputStream sourceFileInput = null;
                   session = request.getComponentSession();
                   DAO = new DAO();
                   DAO = (DAO)session.getValue("DAO");
                   IUser epUser=DAO.getEpUser();
                   System.err.println("berry + Getting Iuser from inside UploadUtility SAI  " + epUser);
              /*     IWDClientUser wdUser = WDClientUser.getCurrentUser();
                   IUser user = wdUser.wdUser.getSAPUser(); */
              //     IUser epUser=(IUser)request.getUser().getUser();
                   System.err.println("epUser - " + epUser);
                   ResourceContext ctx = new ResourceContext(epUser);
                   repository = "/Folder1/new";
                   RID rid=RID.getRID(repository);
                   System.err.println("getting RID :- " + rid);
                   IPageContext context = PageContextFactory.createPageContext(request,response);
              //     PageContext context = PageContextFactory.createPageContext(request, response);
                   Event event=context.getCurrentEvent();
                   if(null!=event)
                        String event_name=event.getAction();
                        if(null!=event_name && event_name.trim().equalsIgnoreCase("upload_file"))
                              FileUpload fileUpload = (FileUpload)context.getComponentForId("fileupload");
                                  if(null !=fileUpload && null!=fileUpload.getFile())
                                            mimetype = fileUpload.getFile().getContentType();
                                            resourceName = fileUpload.getFile().getFileName();
                                            System.err.println("resourceName inside fileUploadUtility :- " + resourceName);
                                            //sourceFileInput = new FileInputStream(fileUpload.getFile().getFile().getAbsolutePath());
                                            fileName = resourceName;
                                            System.err.println("filename :- " + fileName);
                                            try {
                                                 sourceFileInput = new FileInputStream(fileUpload.getFile().getFile().getAbsolutePath());
                                            } catch (FileNotFoundException fnf) {
                                                 state = ERROR_STATE;
                                                 System.err.print("FileNotFoundException Occured " + fnf.toString());
                                            Content content = new Content(sourceFileInput, mimetype, -1L);
                                            IResource resource = null;
                                            try {
                                                 resource =(IResource) (ResourceFactory.getInstance().getResource(rid, ctx));
                                            } catch (ResourceException resexp) {
                                                 state = ERROR_STATE;
                                                 System.err.print("Resource Exception Occured for IResource" + resexp.toString());      
                                            ICollection aCollection=(ICollection)resource;
                                            //IResource newResource = aCollection.createResource(resourceName, null, content);
                                            try {
                                                 IResource newResource = (IResource) aCollection.createResource(resourceName, null, content);
                                            } catch (NotSupportedException e2) {
                                                 state = ERROR_STATE;
                                                 System.err.print("Not Supported Exception Occured" + e2.toString());
                                            } catch (AccessDeniedException e2) {
                                                 state = ERROR_STATE;
                                                 System.err.print("Access Denied Exception Occured" + e2.toString());
                                            } catch (ResourceException e2) {
                                                 state = ERROR_STATE;
                                                 System.err.print("Resource Exception Occured for ICollection" + e2.toString());      
                                            }//end of catch
                             }//end of innermost if
                   }//end of 2nd if
              }//end of 1st If
              DAO.setFileName(fileName);
              DAO.setState(state);
              session.putValue("DAO", DAO);
           }// end of uploadUtil
    I am getting a complie error in my NWDS at the following line:
    FileUpload fileUpload = (FileUpload)context.getComponentForId("fileupload");
    The error is : Cannot cast from component to FileUpload.
    Also, I am getting an error on the following Import statement:
    import com.sapportals.htmlb.FileUpload;
    The error is : The import import com.sapportals.htmlb.FileUpload conflicts with a type defined in the same file.
    Any Idea why this would be happening?
    Thanks
    S.B

    import com.sapportals.htmlb.FileUpload;
    is conflicting with the class name. Both are same.
    Change the class name.
    Thread closed.

  • Event handling in Dynpage

    Hi all,
    This is my first post in SDN.
    Can any one tell me how to submit a form in DYNPAGE via radio button. If I check the radio button on, it should submit the form and should return the same page.
    Appreciate you help.
    Thanks,
    Karthik

    Hi,
    The following code regarding Event Handling for Dynpage. May be this example code useful for you.
    package com.customer.training;
    import com.sapportals.htmlb.Button;
    import com.sapportals.htmlb.Component;
    import com.sapportals.htmlb.DropdownListBox;
    import com.sapportals.htmlb.Form;
    import com.sapportals.htmlb.FormLayout;
    import com.sapportals.htmlb.GridLayout;
    import com.sapportals.htmlb.InputField;
    import com.sapportals.htmlb.Label;
    import com.sapportals.htmlb.TextView;
    import com.sapportals.htmlb.enum.ButtonDesign;
    import com.sapportals.htmlb.enum.TextViewDesign;
    import com.sapportals.htmlb.event.Event;
    import com.sapportals.htmlb.page.DynPage;
    import com.sapportals.htmlb.page.PageException;
    import com.sapportals.htmlb.rendering.IPageContext;
    import com.sapportals.portal.htmlb.page.PageProcessorComponent;
    public class Suresh_SearchDynPage extends PageProcessorComponent {
      public DynPage getPage() {
        return new Suresh_SearchDynPageDynPage();
      public static class Suresh_SearchDynPageDynPage extends DynPage {
         public int flag ;
         public final static int disp_info = 1;
         public final static int read_info = 2;
         public final static int error_info = 3;
         public static String flag_info = "MyFlag";
         public static String disp_drop = " ";
         public String errorMessage;
           String firstName ;
           String lastName ;
           String Email ;
           String dropsel;
    Initialization code executed once per user.
        public void doInitialization() {
                        flag = read_info;          
                        IPageContext ctx = this.getPageContext();
                        ctx.setAttribute("FirstName","");
                        ctx.setAttribute("LastName","");
                        ctx.setAttribute("email","");     
    Input handling code. In general called the first time with the second page request from the user.
        public void doProcessAfterInput() throws PageException {
              Component comp;
              comp = this.getComponentByName("FirstName");
              if (comp instanceof InputField)
                        firstName = ((InputField) comp).getString().getValue();
              comp = this.getComponentByName("LastName");
              if (comp instanceof InputField)
                                  lastName = ((InputField) comp).getString().getValue();
              comp = this.getComponentByName("email");
                        if (comp instanceof InputField)
                                            Email = ((InputField) comp).getString().getValue();
              comp = this.getComponentByName("DisplayType");
                        if (comp instanceof DropdownListBox)
                             dropsel = ((DropdownListBox) comp).getSelection();          
    // Store the selected values in corresponding field name for nextScreen                         
              IPageContext ctx = this.getPageContext();
              flag = new Integer(ctx.getAttribute(flag_info).toString()).intValue();
              ctx.setAttribute("FirstName",firstName);
              ctx.setAttribute("LastName",lastName);
              ctx.setAttribute("email",Email);
              ctx.setAttribute("DisplayName",dropsel);                                   
    Create output. Called once per request.
        public void doProcessBeforeOutput() throws PageException {
          Form myForm = this.getForm();
           this.getPageContext().setAttribute(flag_info,new Integer(flag));
         switch(flag)
          case read_info:
                    FormLayout f1 = new FormLayout();
                    TextView t1 = new TextView();
                    t1.setDesign(TextViewDesign.HEADER2);
                    t1.setText("This is the Info U Entered................");
                    TextView t2 = new TextView();
                    t2.setText(firstName);
                    Label dispFname = new Label("dispFirstName");
                    dispFname.setText("First Name");
                    dispFname.setLabelFor(t2);
                    TextView t3 = new TextView();
                    t3.setText(lastName);
                    Label dispLname = new Label("dispLastName");
                    dispLname.setText("Last Name");
                    dispLname.setLabelFor(t3);
                    TextView t4 = new TextView();
                    t4.setText(Email);
                    Label dispEmail = new Label("dispEmail");
                    dispEmail.setText("Email");
                    dispEmail.setLabelFor(t4);
                    TextView t5 = new TextView();
                    t5.setText(dropsel);
                    Label dispType = new Label("dispInfo");
                    dispType.setText("Display Info");
                    dispType.setLabelFor(t5);
                    Button btnback = new Button("Back");
                    btnback.setText("Back");
                    btnback.setOnClick("Back");
                    f1.addComponent(1,1,t1);
                    f1.addComponent(2,1,dispFname);
                    f1.addComponent(2,2,t2);
                    f1.addComponent(3,1,dispLname);
                    f1.addComponent(3,2,t3);
                    f1.addComponent(4,1,dispEmail);
                    f1.addComponent(4,2,t4);
                    f1.addComponent(5,1,dispType);
                    f1.addComponent(5,2,t5);
                    f1.addComponent(6,1,btnback);
                    myForm.addComponent(f1);
               break;
          case error_info:
                    FormLayout f2 = new FormLayout();
                    IPageContext ctx = this.getPageContext();
                    TextView t6 = new TextView();
                    t6.setText("Error : ");
                    t6.setDesign(TextViewDesign.HEADER2);
                    t6.setText(errorMessage);
                    f2.addComponent(3,1,t6);
                    myForm.addComponent(f2);
               break;
                default:
                              // create your GUI here....
                                        GridLayout g1 = new GridLayout();
    //                                    IPageContext ctx1 = this.getPageContext();
                                        Label first_l = new Label("First Name");
                                        InputField first_if = new InputField("FirstName");
                                        Label last_l  =  new Label("Last Name");
                                        InputField last_if = new InputField("LastName");
                                        Label email_l = new Label("E-Mail Address");
                                        InputField email_if = new InputField("email");
                                        Label info_l = new Label("Display Info for");
                                        DropdownListBox displayType = new DropdownListBox("DisplayType");
                                        displayType.addItem("userinfo", "User Info");
                                        displayType.addItem("groupinfo", "Group Membership");
                                        displayType.addItem("roleinfo", "Role Assignment");     
    //                                    displayType.setSelection(ctx1.getAttribute("DisplayType").toString());
                                        Button btn = new Button("submit");            
                                        btn.setText("Get Info");
                                        btn.setDesign(ButtonDesign.EMPHASIZED);
                                        btn.setOnClick("Get");
    //                                    add the ui controls to grid
                                        g1.setCellPadding(4);
                                        g1.addComponent(1,1,first_l);
                                        g1.addComponent(1,2,first_if);
                                        g1.addComponent(2,1,last_l);
                                        g1.addComponent(2,2,last_if);
                                        g1.addComponent(3,1,email_l);
                                        g1.addComponent(3,2,email_if);
                                        g1.addComponent(4,1,info_l);
                                        g1.addComponent(4,2,displayType);
                                        g1.addColSpanComponent(5,1,btn,2);
                                        g1.setHeightPercentage(50);
                                        g1.setColumnSize(50);
                                        myForm.setFocusedControl(displayType);
                                        myForm.setMessageBarAtFormEnd(true);
                                        myForm.setWidthInHundredPercent(true);
                                        myForm.addComponent(g1);     
                                        break;
        public void onGet(Event e)
         if(firstName.length()== 0)
              flag = error_info;
              errorMessage = "Invalid Input..............";
         else
              flag = read_info;
          public void onBack(Event e1)
                flag = disp_info;

  • Handling events in BSP application using WML tag Extensions

    Hello Everyone  ,
                            We are developing a BSP applications for Mobile handheld using WML tag library. I am looking for some code samples to know how we can handle evevents inside the BSP using the WML tag library.
    Can any one of  you plesae help us by placing a code snippet for handling onInputprocessing() methods (BSP Using WML Tag extensions).
    I mean to ask how we can handle events inside the BSP applications that uses the WML tag library.
    I know about how to handle BSP events using HTMLB and XHTMLB tags frameworks.
    Thanks for your help in advance.
    Thanks,
    Greetson

    Is this WML tag library something that is supplied by SAP u2013 as a BSP Extension Element?  Or are you just using WML tags directly in your layout?  I can tell you in general that if you want to generate HTMLB events from regular HTML code you can generate the JavaScript calls using the htmlbEvent tag of the BSP extension library.  However your tags have to be running within an HTMLB Content tag for this to work.
    If you want to work totally without HTMLB then you need to use the simple HTTP Post but format the input name as OnInputProcessing(<function code>) like this:
    <input type="submit" name="OnInputProcessing(ok)" value="OK">
    This will cause the OnInputProcessing event handler to trigger without needing any HTMLB tags (this is how it was done in WebAS 6.10 before we BSP Extensions).

  • I cant import com.sapportals.htmlb.*

    Hi!
    I just installed netweaver and started out by making a new portal application project. After that I made a new portal application object but when I compile my java-file I get errors regarding the following imports.
    import com.sapportals.htmlb.*;
    import com.sapportals.htmlb.enum.*;
    import com.sapportals.htmlb.event.*;
    import com.sapportals.htmlb.page.*;
    import com.sapportals.portal.htmlb.page.*;
    import com.sapportals.portal.prt.component.*;
    Error: The import com.sapportals.htmlb cannot be resolved.
    I know that the error might be about me missing af reference to some jar-file which contains the packages. Am I wrong?
    Regards Anders

    Hi Anders,
    Have you downloaded the PDK plugin for EP6?  If so, assign yourself the Java Developer role, and download the required jar files.  Login to the portal Java Development>Development>Downloads.  Download and unpack the Portal Archive Wizards into your eclipse\plugins directory.  Then create classpath references to the required jar files in your par file .classpath file.  For example, htmlb.jar
    <classpathentry kind="lib" path="C:/portal/eclipse/plugins/com.sap.developmentTools.libs_1.2.0/htmlb.jar"/>
    Hope this helps,
    Marty
    PS.
    If you dont have the pdk plugin, here is a workaround (assuming you have a portal installed). You can copy the jar files to your local directory in order to successfully compile a par project.  For example the following three jar files to your eclipse\plugins directory on your local machine.  Then in your classpath, create entries for the ones you require (in your case, htmlb.jar). So something like:
    <classpathentry kind="lib" path="C:/portal/eclipse/plugins/com.sap.developmentTools.libs_1.2.0/htmlb.jar"/>
    Under your portal, C:\usr\sap\<instance>\j2ee\j2ee_00\cluster\server\services\servlet_jsp\work\jspTemp\irj\root\WEB-INF\portal\portalapps\com.sap.portal.htmlb\lib contains an htmlb.jar and an htmlbbridge.jar
    C:\usr\sap\<instance>\j2ee\j2ee_00\cluster\server\services\servlet_jsp\work\jspTemp\irj\root\WEB-INF\portal\system\lib contains a prtcore.jar file

  • Event Handling - New Approach

    Hi,
    I have developed a BSP and implemented the way Brian described in the Apprach 3 of the weblog mentioned below. In the method of new class that handles the server event(method name is same as server event), How do I access the model instance that I used in my BSP?
    BSP Programming: Handling HTMLB Events
    /people/brian.mckellar/blog/2004/07/28/bsp-programming-handling-htmlb-events
    Thanks,
    Suresh

    Brian it's Good Idea to create in Controller Class or creating event handling methods within the model class. But I would like to create s separate class just for Even handling alone, so that I can use wherever I want(in different BSP Applications).
    1.I have created ZCL_EVENT_HANDLER_FORME.
    2.Created Method HANDLE_MYBUTTONCLICK and passed
      event_object as a parameter.
    3. I have ZCL_MY_CONTROLLER and ZCL_MODEL for BSP.
    4. Created instance of ZCL_MODEL and assigned it to the Controller Attribute.
    5. Successfully dispatced the event from DO_HANDLE_EVENT to HANDLE_MYBUTTONCLICK method of CL_EVENT_HANDLER_FORME.
    6. I don't know how to get the reference to the model in
    HANDLE_MYBUTTONCLICK method of CL_EVENT_HANDLER_FORME.
    Am I missing some thing....
    -Suresh

Maybe you are looking for

  • How to install a bigger hard drive???

    I've purchased a Seagate Momentus XT hybrid 500gb drive, I can't find a good set of instructions for making this change? Is there a logical way of transferring the data from the original HD to the new drive? Is this something I should have the genius

  • Create a table from a spreadsheet

    Hi All, I know you can load data to a table from a spreadsheet using sqlldr, sql developer, toad, etc.. My only knowledge is loading a table from the spreadsheet, but first the table must exist. Is there any utility that enable you to create and load

  • Third party memory in iMac causing crashes?

    Since updating to mavericks, iMac has been crashing. 24 mb ram 16 are third party. Configuration is correct. Anyone having crashes?

  • Doubt's regarding the Hierarchial Queries in Oracle

    Hi, i have a doubt regarding the Hierarchial Queries in Oracle. SELECT * FROM TMP_TEST; ID     NUMVAL     STRVAL 1     100     Hello 1     -100     World 2     1     Concatenate 2     2     In String 2     3     using Connect By 2     4     Using SYS

  • Lobby Ambassador - Automatic deletion from WCS after Expiry or Account

    Hi Guys, When I create a guest account and the account time expires, the account still remains on the WCS (but not on the controller). Is this a feature of the WCS or a bug? If so, can I ask the WCS to automatically remove all guest users accounts fr