Detect absolute ID for an ADF component on the page

Hi All,
I need to locate an ADF component on the page using ADF Client javascript framework. I'm trying to locate it using following method AdfPage.PAGE.findComponentByAbsoluteId()
The problem is this component is placed in a page fragment inside page template with several levels of nested naming containers. And I don't have access to the source code of the page template, hence it's quite hard for me to detect the correct absolute id for the component.
So the question is: how can I know the final value for the absolute id of the component? Can I look it somewhere at runtime? Or if not, is there any alternative way to locate ADF component using just the design time id attribute set for the component?
Thanks in advance.

Hi Arun,
Do you mean the id of the component in the final DOM? I tried to use that but didn't work. In my case, I need to find inputText component on the page. After page is loaded I can select it via Firebug and it has an id like 'pt1:USma:0:MAt1:0:pt1:reportXml::content'. If I then call following method:
AdfPage.PAGE.findComponentByAbsoluteId('pt1:USma:0:MAt1:0:pt1:reportXml::content')
I get null. Am I missing something?
Thanks,
Maksym

Similar Messages

  • How to initialize an adf component before a page loads

    Hi all
    I use JDeveloper 11.1.2.2.0
    I have two pages:
    first page has a link to a second page
    <af:document title="first.jspx" id="d1">
      <af:form id="f1">
        <af:commandLink text="Page 2" id="cl1" action="goToSecondPage" actionListener="#{Bean.handleLinkActionEvent}"/>
      </af:form>
    </af:document>and the second page has an inputText component:
    <af:document title="second.jspx" id="d1">
      <af:form id="f1">
        <af:inputText label="Text" id="it1" binding="#{Bean.inputText}" readOnly="true"/>
      </af:form>
    </af:document>First I load first.jspx and than I click the link. This event is handled in handleLinkActionEvent() method, in which I want to set a value to the inputText component of the second page. But I can't do it, because as expected I get NullPointerException.
    So the question is how to initialize an adf component before a page loads?
    Evgeny Michuk
    Edited by: Evgeny Michuk on Oct 4, 2012 11:30 PM

    Thanks a lot for your replies and links, it gives me some new knowledges.
    I got your approach and achieved the aim for the described situation with tag <f:setPropertyActionListener>:
    <af:commandLink text="Page 2" id="cl1" action="goToSecondPage"
                           actionListener="#{Bean.handleLinkActionEvent}" binding="#{Bean.firstPageLink}">
      <f:setPropertyActionListener target="#{pageFlowScope.text}" value="Hello, World!"/>
    </af:commandLink>and for the inputText component I set the value:
    <af:inputText label="Text" id="it1"  binding="#{Bean.inputText}"
                                  readOnly="true" value="#{pageFlowScope.text}"/>I used request scoped managed bean and it is shared for both pages.
    I understand that I can set a value of some attribute for managed bean
    and use it to set a value for inputText component of the second page,
    but as I understand it is almost the same way as usage of tag <f:setPropertyActionListener>.
    In my real situation on the second page I have a dynamic table, and it's field is read only.
    Structure of this table depends on a link clicked on the first page.
    So I define components for table columns in runtime, it may be outputText, inputDate, goLink and some others.
    And I have to get table through the UIComponent binding to set columns.
    Certainly I can define all needed components for all columns
    and render it according to the column types
    <af:table value="#{Bean.collectionModel}" var="row" id="t1" binding="#{Bean.mainTable}">
       <af:forEach items="#{Bean.columnDescriptionList}" var="column">
          <af:column headerText="#{column.caption}" id="c1">
             <af:outputText value="#{row[column.fieldName]}" id="ot1" rendered="#{column.type == '1'}"/>
             <af:inputDate value="#{row[column.fieldName]}" id="ot2" rendered="#{column.type == '2'}"/>
             <af:selectBooleanCheckbox id="sbc1" selected="#{row[column.fieldName] == '1'}" rendered="#{column.type == 'n'}"/>
          </af:column>
       </af:forEach>
    </af:table>but I think it is not very good.
    Have you any idea?
    P.S. I hope I clearly explained my situation =)
    Evgeny Michuk

  • I am trying to print a PDF file to a legal size paper and I would like for it to fill up the page. How do I do this? I went into the settings and changed it from letter to legal, but it's still printing out the same size. Can someone help me, please?

    I am trying to print a PDF file to a legal size paper and I would like for it to fill up the page. How do I do this? I went into the settings and changed it from letter to legal, but it's still printing out the same size. Can someone help me, please?

    Are you trying to Print to PDF or are you trying to Print a PDF file to a physical printer?

  • How to center a component on the page????

    Hi all
    i want to center a component on the page
    Sorry it may be some thing trivial ???
    but i ve a command button i want to center it on the page ????
    how???

    Hi,
    try this steps:
    1-surround the command button with panelGroupLayout with layout Horizontal.
    2-In panelGroupLayout property select Style tab.
    3-in the Text tab set horizontal Align with Center.
    4-in Box tab set width with 100 Percent
    if panelGroupLayout inside any other component make this palce width 100 percent and its Align Horizontal with Center.
    Sameh Nassar

  • When I add pictures into MUSE , do the pictures resize for web quality (And so the page loads fast enough) or do I have to do this using an external software like photoshop, etc. ? Thank You

    When I add pictures into MUSE , do the pictures resize for web quality (And so the page loads fast enough) or do I have to do this using an external software like photoshop, etc. ?
    Also is there any way I can change the contact form email for all of my contact forms at once.
    I have over 100 contact forms and i want to make them reach the same email anyway I can do that without going one by one?

    If you have placed the image in Muse using File > Place and then scaled the image down in Muse while editing, then Muse publishes/exports the scaled down/optimized image in final output. When using as a Fill, the output size depends on the Fitting option you setup in the Fill options.
    As for the contact form email, you would need to specify the email address for each form individually. There is no workflow to edit the same for multiple forms at a time.
    Cheers,
    Vikas

  • I have recently purchased a macbook pro and i gave my macbook to my wife, how can she recover the apps i bought and paid for so she can use the Pages, Numbers and Keynote

    i have recently purchased a macbook pro and i gave my macbook to my wife, how can she recover the apps i bought and paid for so she can use the Pages, Numbers and Keynote

    If you bought/paid for them in the Mac App Store, you would just need to sign in to the MAS with the Apple ID you used to purchase them, go to purchases, and click install.
    As for the limited licensing that Bordy brought up, the TOS for the MAS states:
    "Apps from the Mac App Store may be used on any Macs that you own or control for your personal use."
    If you installed them from an iWork disc, just pop the disc back in and reinstall.
    Regards,
    Gnomish8

  • User defined class objects for a ADF component (button,inputfield)

    How do I define a user defined class object for ADF objects?
    My requirement is that when I do a modification to the class object, it should get reflectected to all the instances on my page.
    E.g:- I'm having class object clsInputField, and all my input fields in my pages are based on this object. So when I change clsInputField it should get reflected to all my controls based on this class object.
    Please help!!!

    Hi Timo,
    In our client server environment, we have a custom control for managing the zip code (used a Custom InputText field which extends the actual TextField) . All zip code specific validations are written in this custom class. In our application many of the pages uses this Custom component. So if any of the zipcode specific behaviour changes, we could implement this by only changing the Custom InputText field class.
    We need to implement this behaviour in our ADF applications. Please advise.
    Thanks,
    Vishnu

  • Calling a method in the Custom ADF component from JSF page

    HI.
    I have created some custom compoents by extending the core ADF Components. Like i have a ComboBoxDefault component with it's ComboBoxDefaultTag.java and Controls.tld file.
    Now my requirement is i want to bind my label to this component from the JSF page. like
    <fwcontrols:label binding="#{listComponents.comboBoxDefaultLabel}" id="label1"/>
    <fwcontrols:comboBoxDefault binding="#{listComponents.cmbLocales}"
    value="en_GB" id="comboBoxDefault" autoSubmit="true" label="label1">
    <f:selectItems value="#{listComponents.locales}"/>
    </fwcontrols:comboBoxDefault>
    In my JSF page the label will have an id, and that id will be specified in the label tag of the component.
    In Tag.java file i have overrided the setProperty(FacesBean facesBean). In this method i have bind all my properties. In core JSF the setProperty method is provided with the UIComponent parameter, so i can call my method in component also. Which is not in case of ADF Faces.
    My main point is how i can call my method setLabel() which is in ComboBoxDefault.java so that i can set the label.
    Thanks in Advance.

    Thanks for all your replies. I want this kind of a functionality because Im trying to invove a DC (Child DC) from a Parent DC such that the Child DC's view is displayed onto the view container of the Parent DC. I have embedded using 'interface view of a component instance' in the Parent Window and am able to create the component and set usage though the onPlugDefault of the Child View.
    But I observe that when i make a call from the parent, the flow is like this:
    1. The wdDoInit of the Child Component Controller gets triggered first.
    2. Then the wdDoInit of the Child's <b>VIEW</b> gets triggered
    3. and <b>THEN</b> the onPlugDefault of the Child Component Interface View
    What I had actually wanted was to Fire onPlugDefault where Im calling a method LoadData(), after which the Child DC's view must be triggered so it can display the fetched data.
    What is actually happening is the view gets displayed, but no data is displayed in the view.
    Right now I have just given a work around where Im triggering <b>LoadData()</b> of the <b>COmponent COntroller</b> from the <b>wdDoInit</b> of the <b>VIEW</b>.
    Is there a better way to do this? I find it strange that I have to load the Data from the view.
    Thanks
    Jack

  • When using the "Fill & Sign PDF" feature, is there a way to stretch to size the text box, for a specific area on the page...instead of it going on in one straight long line...?

    When using the "Fill & Sign PDF" feature, is there a way to stretch to size the text box on a specific area of the page...instead of the text box going on in one straight long line....? I'm not seeing there's an option or ability to do so, just wanting to confirm.

    Improving the handling of multiple line text fields is in our plans, but for now, you will have to add manual carriage returns (Enter).
    Thanks,
    Josh

  • How can you specify a custom style class for an ADF component (column)?

    We are using ADF 10_1_3_3_0 on Tomcat.
    We would like to specify an additional style class for a column header. We have specified the following style:
    {color:#808080}af|column.formHeader::header-text
    text-align: right;
    background-color:brown;
    border-color:#999999;
    font-family:Verdana,Arial,Helvetica,sans-serif;
    color: blue;
    }{color}
    {color:#808080}&lt;af:column sortable="true" formatType="text" styleClass="formHeader"&gt;{color}
    This does not seem to work. In our tests, the CSS gets generated but the new style class for the column header does not seem to be generated/mapped. I reveiwed this post: Re: Jdev 11g: how to set width of some components on panel form layout. Is this specification (component.className::selector) applicable for the 10g version of ADF?
    Additionnaly, are their specifcations/details for these selectors (e.g. ora-rule-ref, -rt-rule-ref, -tr-rule-ref). I am not clear on what they are mapped to and how they are used.
    Thanks
    Edited by: user10477345 on Oct 27, 2008 6:48 AM

    Hi,
    The column's style classes will be added on the <td> elements, not the header sadly. So for your use case you'll have to place the class on the table itself then use the selector
    af|table.MyStyleClass af|column.formHeader::header-text{}Sadly this will affect all columns, not just one so I don't know if it's going to fir your need.
    Regards,
    ~ Simon

  • When opening a new tab, Firefox often freezes for a few seconds until the page has loaded completely.

    When I open a new tab, the tab must load completely before Firefox will respond at all. I cannot do anything in Firefox; Windows and the rest of my programs that are running are unaffected. This happens randomly, but it is more common on certain websites. How do I fix this?
    Thanks!
    J

    Please check for the problem in [[safe mode|safe mode]].. does it work there?

  • When I enter my user name and password for my e-mail account, the page won't open

    My e-mail account page won't open after I enter my user name and password on the log-in page. I have vcrified with Suddenlink that my user name and password are correct.

    Thanks Peter.
    Partial success in that I have been able to get mails onto the iPad  - however....
    Progress from a previous 'rumage' on problem discussions.    I have succeded in setting up the iPad so that it receives emails from the sky address under 'MAIL' on the iPad.    However trying to open in the 'usual' way   -  safari - then sky  -  then email  -  enter user name and password  -  I get the same result  -  it just returns to the log in menu for sky email with user name and password blank. 
    I had a previous problem with the sky mail ceasing to show recent mails, frozen in time on the iPad.   Somehow by trying some reset instructions I was able to 'unlock' the iPad and all was OK until it 'froze' again.    This time I clearly screwed up attempts to unlock, resulting in not being able to access email accounts via the Sky site !!

  • Create a Renderkit for a ADF UI component

    This question pertains to JDeveloper 11g and ADF Renderkits. It appears that we cannot change the default-render-kit-id to anything other than oracle.adf.rich. If we have oracle.adf.rich defined as the default renderkit Id is it possible to create a new render kit and a renderer for any ADF component. Wanted to check out if this is at all possible and the behavior of the UI component will be driven by the new renderer.
    Thank you.

    Hi,
    yes you can, but you would loose all PPR behavior and client side framework functionality that is handled by the Oracle render kit (skinning also is handled by the renderer). So whatever you need from this, make sure your renderer has it in too
    Frank

  • Where I can find an example for an ADF application

    where I can find an example for an ADF application where the view layer is JSF and the Business service layer is JAVA with JSF controller as controller layer
    Edited by: belal on Jun 18, 2011 11:59 PM

    I created new Fusion web application so I have now to parts in the application navigator (model, viewcontroller)
    I want to write java class in the Model part as following:
    package persistence;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class DBManager {
    Connection connection = null;
    public DBManager() {
    super();
    public void init() {
    try {
    // Load the JDBC driver
    String driverName = "oracle.jdbc.driver.OracleDriver";
    Class.forName(driverName);
    // Create a connection to the database
    String serverName = Constant.DB_SERVER_NAME;
    String portNumber = Constant.DB_PORT_NUMBER;
    String sid = Constant.DB_SID;
    String url =
    "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" +
    sid;
    String username = Constant.DB_USER_NAME;
    String password = Constant.DB_PASSWORD;
    connection = DriverManager.getConnection(url, username, password);
    System.out.println("*");
    System.out.println(connection.getCatalog());
    } catch (ClassNotFoundException e) {
    System.out.println("Could not find the database driver");
    } catch (SQLException e) {
    System.out.println("Could not connect to the database");
    e.printStackTrace();
    and wrote JSP page in the view controller part as following :
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@page import="persistance.*"%>
    <% persistance.DBManager manager = new DBManager(); %>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
    <title>Browse</title>
    </head>
    <body>
    <table>
    </table>
    </body>
    </html>
    but this I have the following error in the jsp page :*type persistance.DBManager not found*
    my job is to build simple ADF application using JSF and java without any ADF faces or JPA or any another technology
    thanks
    Edited by: belal on Jun 19, 2011 12:51 AM

  • Default values for iBase and component in CRMD_ORDER

    Dear developers,
    is there a possibility to set the input fields for iBase and component in the transaction CRMD_ORDER on a userspecified default value? The Parameter-ID's IBC and IIB that are saved with the SAP-User doesn't work
    Is the a known solution?
    Thanks in advance,
    Jens Sperk

    Hi Dirk,
    look for Define Access Sequence & Define Partner Determination Procedure in SPRO and read the IMG Activity Documentation. You can find it in the Service Desk config, but it works for the other transaction types too.
    Basically, you create Access Sequences where you tell the Partner Determination Procedure where to look for the values for the Partner Function fields.
    The Access Sequence can use lots of sources for the information, including your org structure.
    regards,
    Jason

Maybe you are looking for