Accessing ADF UI components programmatically

How can I locate an ADF UI component by its ID and get access to it programmatically, without using the Binding property?
What's wrong with the following code?
public void onButtonPressed(ActionEvent actionEvent) {
FacesContext fc = FacesContext.getCurrentInstance();
ELContext elctx = fc.getELContext();
ExpressionFactory ef = fc.getApplication().getExpressionFactory();
ValueExpression ve = ef.createValueExpression(elctx, "#{it1}", UIXComponent.class);
RichInputText it = (RichInputText)ve.getValue(elctx);
System.out.println(it.getAttributes().get("label"));
it.setValue("hehe");
"it1" is the Id of my InputText.
Edited by: Alex on Oct 30, 2011 11:54 PM

Hi Alex,
That is not the right way to get the component, #{it1} is not valid.
Here is the sample code to get the component by id, but is not recommended as you should know the parent component ids as well and it would be difficult to maintain in long run:
        FacesContext context = FacesContext.getCurrentInstance();
        context.getViewRoot().findComponent("<id>")What is your exact usecase?
Any specific reason for not using binding property?
Sireesha

Similar Messages

  • Oracle ADF Faces Components, Early Access Release 8 is now available

    Oracle ADF Faces is a rich set of user interface components based on the new JavaServer Faces JSR (JSR-127). Oracle has been actively involved in this JSR since its beginning. The Oracle ADF Faces Components provide various user-interface components with built-in functionality - such as data tables, hierarchical tables, and color and date pickers - that can be customized and re-used in your application.
    ADF Faces also includes many of the framework features most needed by JSF developers today:
    * File upload support is integrated at a component level.
    * Client-side validation is automatically derived from Validators and Converters for an improved user experience.
    * A pageFlow scope makes it easier to pass values from one page to another.
    * A new hybrid state saving strategy gives developers the best of both client and server-side state saving.
    ADF Faces ensures a consistent look and feel for your application, allowing you to focus more on user interface interaction rather than look and feel compliance. The components support multi-language and translation implementation as well as accessibility features. ADF Faces Components use Partial Page Rendering (PPR) offering superior runtime interactivity. PPR allow the browser to just render a piece of a page instead of the entire page.
    The intention with this early access release is to give developers/architects an opportunity to evaluate JSF and Oracle's JSF component offering.
    Oracle ADF Faces Components can be used in any IDE that support JSF, including Oracle JDeveloper 10g.
    Oracle ADF Faces Components, EA8

    Jonas,
    It works if I include the following:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    The source is now:
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/EA8" prefix="af"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>untitled</title>
    </head>
    <body>
    <f:view>
    <af:outputText value="hello ADF Faces!"/>
    </f:view>
    </body>
    </html>
    Did I feel out something in my library entry?
    Thanks.

  • Integrating ADF Business Components from heterogenous data sources

    Hi all,
    has anybody experience in integrating ADF Business Components from heterogenous data sources like ViewObjects from a DB2 database as LOV in a ViewObject from a Oracle 11g?
    What is the best practice approach to integrate such different ADF Business Components in declarative and programmatic ways?
    Thank you!

    thank you for the answer! We already updated out BC according to http://www.oracle.com/technetwork/developer-tools/jdev/multidatabaseapp-085183.html
    The DB2 ViewObjects are exported as ADF Libraries and imported in the BC of the project with Oracle DB ViewObjects. In the root AM I created instances from the imported DB2-ViewObjects as well as from the Oracle-ViewObjects, but when I start AM test environment it takes the preconfigured Data Source of the root AM. So I probably will pesneed to create two AMs for the different ViewObject types and for the two connection types. My question is what will be best practices to use data from the DB2-VO of AM_DB2 in the OracleDB-VOs as part of AM_Oracle? Should it be done only programmatically or can it be done also declaratively and any suggestions how to proceed?
    Thank you!
    Edited by: nbo on Jun 3, 2012 2:53 AM

  • ADF business components and scalability ?

    Hello,
    I am new to the ADF Framework, I come from an open source background.
    I have a limitation to use Oracle technologies for an internet banking design.
    My concern is the large number of users accessing the system and how we scale up through clustering.
    Do you recommend ADF business components for this application, can ADF be simple POJOs handlers or EJB 3.0 session facades ? if that is the case, would you recommend EJB 3.0 for clustering and scalability for an internet banking system.
    Any guidance is appreciated.
    Thanks.

    Thanks for the reply, I will read the document, however,
    If I try to compare ADF to other frameworks, creating BCms as POJOs would take advantage of the Apache clustering(web tier, same as Tomcat clustering in Jboss), there is no need for OC4J services of the 10gAS, on the other hand, if I go with EJB3 stateless session beans BCms then i would need 10g OC4J container and its clustering capability(AS clustering).
    Your time is appreciated and please respond only if you time, i will go through the doc.

  • Multiple ADF Business Components projects for one ADF project

    I have an ADF project where I have my own ADF Business Components Model, with View Objects, etc. Can I add another ADF Business Components from another project - they access a different database than I do with queries that I could use.

    I see two options:
    1. rename one of your Model.jpr to somthing else and then try again to add a dependency.
    2. create a jar out of the second model project and import the applcation module out of the jar into the other project. To import use file->import and select 'Business Components' from the list. Check tho docs ("Importing Business Components Created by Someone Else")

  • Problem to deploy to a WebService interface for ADF Business Components to Weblogic Server

    Hi,
      I'm trying to deploy a custom application ,in which i have exposed ADF Business Components through a WebService interface, to a standalone weblogic server.
    Application Module is configured with a Service Interface for ordinary ViewObjects.
    Now I want to create a EAR file of this application to deploy it on the weblogic server.
    But I got an error while deploying it.The error i am getting is shown below.
    ERROR: No Java EE modules detected in EAR archive. Deployment aborted. == (oracle.jdevimpl.deploy.ear.WeblogicAssembler)
    I have followed the steps mention in the below link :
    http://technology.amis.nl/2010/12/29/quickly-creating-reploying-and-testing-a-webservice-interface-for-adf-business-components/
    I'm using Jdeveloper 11.1.2.4 on windows.
    Please suggest what i could be doing wrong.
    Regards,
    Himanshu

    Does the deployment profile include Java EE modules?
    Refer
    Java EE Developer: ERROR: No j2ee modules detected in EAR archive. Deployment aborted. == (oracle.jdeveloper.deploy.Veto…

  • Help required building ADF-Swing/ADF-Faces using ADF Business Components

    My question is in regards to how you can go about building a light swing application to an ADF model?
    In particular if I were to say that we were developing a 3-tier project whereby we had a database tier, a series of EJB-ADF façade session beans to the database (middle-tier), and a swing client communicating with the session beans (view-controller tier), how would you go about developing these screens?
    In particular can we develop these screens using ADF-Faces and also ADF-Swing?
    The EJB session façade beans of course are ADF app modules with customised methods. The methods would return back customised DTO objects. These DTO objects are wrappers to row objects ADF would create. This would be mainly due to making these facade beans web service enabled (Oracle state that these methods cannot return oracle.jbo objects if they are to be web service enabled).
    This would be typically deployed to an app server, like Oracle App Server 10G.
    Could you please have a look at this, as I am doing a lot of research into this.
    eg. Taking example from oracle magazine sept/oct 2006
    with slight enhancements
    package oramag.frameworks.example.common;
    import oracle.jbo.ApplicationModule;
    import oramag.frameworks.customdto.EmployeeDTO;
    public interface HRService extends ApplicationModule {
    void deleteCurrentEmpAndCommit();
    EmployeeDTO findEmployee(int employeeId); // new method
    import oramag.frameworks.customdto.EmployeeDTO;
    public class HRServiceImpl extends ApplicationModuleImpl {
    public void deleteCurrentEmpAndCommit() {
    Row empRow = getEmpView().getCurrentRow();
    if (empRow != null) {
    empRow.remove();
    getDBTransaction().commit();
    public EmployeeDTO findEmployee(int employeeId)() {
    EmployeeDTO employeeDTO = null;
    EmployeesImpl employees = getEmployees();
    employees.setNamedWhereClauseParam("EmployeeId", employeeId);
    employees.executeQuery();
    if(employees.hasNext()) {
    EmployeesRowImpl employee = (EmployeesRowImpl)employees.next();
    employeeDTO = new EmployeeDTO(employee);
    return employeeDTO;
    public EmployeesImpl getEmployees() {
    return (EmployeesImpl)findViewObject("Employees");
    Now given the above code snippet, how could you turn this into an ADF-Swing/ADF Faces application so that if a user using the swing application enters an employee id, then the application will execute the query on the app server, the app server in turn returns the results to the client, and the client finally display the results. Typical MVC example.
    Cheers
    Rodney

    The tutorial is for ADF BC used with JavaServer Faces.
    While the tutorial doesn't cover it, we also support drag and drop development for Swing and visual WYSIWYG layout for Swing panels and windows, too. For a very simple example, watch screencast #4 on my blog here:
    http://radio.weblogs.com/0118231/stories/2005/06/24/jdeveloperAdfScreencasts.html
    One thing I have noticed is that when using ADF business components, when the app module returns a custom DTO object like the above example, it returns the data in a element structure according to the data control palette.
    You don't generally ever need to create your own custom DTO's when working with ADF for use by client UI's. The only situation where can be necessary -- until we simplify this in the JDeveloper/ADF 11g release -- is when you desire to expose custom methods that can return sets/arrays of typed row structures through a web service. However, web services are not involved/required in building 3-tier Swing applications.
    When dropping onto a page it does so like a string and doesnt give option to display the data in a read only form etc. Is there anything we need to do, to get the functionality.
    It's more of what you don't need to do :-)
    Just leverage the active data model that the ADF application module provides. You can read more about it in section 4.5 "Understanding the Active Data Model" of the ADF Developer's Guide for Forms/4GL Developers on the ADF Learning Center at http://www.oracle.com/technology/products/adf/learnadf.html). Your UI's bind to view object instances in the data model, and your UI's are automatically kept up to date without needing to write methods that return data. I short article I wrote that preceeded my writing the ADF Developer Guide content on this topis is here:
    http://radio.weblogs.com/0118231/stories/2006/01/26/theAdfBusinessComponentsActiveDataModel.html
    I know that when dropping a view object you get this functionality. Also was wondering if we were to pass an object of thios type back to the model it might not give us the rich functionality like input forms, like what Oracle provides if we were to drop a enitity view object.
    Just use the active data model and everything becomes totally easy, with no changes required to switch between local or three-tier deployment configurations.
    Trying to do everything with hand-coded DTO beans is really going the hard way.
    Could you help us regarding this?

  • ADF Faces Components in a Portal

    Hi,
    We have managed to use the ADF Faces components in a normal web environment, but have had problems when using the components in a portal environment. We are using the JSF portlet bridge classes for rendering portlets. We are getting a ClassCastException in the FacesServlet... Anyone used these components in a portal and know how to get around this problem?
    Thanks.

    what is the stack trace of the exception?

  • ADF Business Components - Cascading Tables

    I am using Oracle Jdeveloper 11.1.1.4.0
    I have tried an approach to cascade two tables using ADF Business Components.
    A single column is declared as Foreign key.
    I have used 2 drop downs. During the value change of the first drop down, the values of second sholud be populated from data base.
    How to achieve this using cascading tables.
    Kindly help.

    Hi,
    For creating cascading(dependent) LOV in adf,list of values in ADF Application using BC4J as model.please follow below links,
    https://blogs.oracle.com/aramamoo/entry/how_to_create_multi_level
    http://mjabr.wordpress.com/2011/04/01/cascade-list-of-values/
    Best Regards
    Siva Sankar

  • Adf business components n Ejb Concepts

    peoples. sorry for asking this silly doubts.
    reason behind this question.
    most often use the adf business components i doesnt know it. but now i am learning with help experts blogs. In some blogs, peoples using Ejb concepts.
    but ,some what i know ejb.
    My doubt:
    for desiging an transaction oriented projects. and multiple peoples work on my form.
    what should i use.
    ejb or adf business componets. which is suitable for the transaction orientation.
    please guide me.....

    Either is suitable for transaction semantics.
    Which one you choose would likely depend upon your background. If you are already well versed in EJB/JPA, then you would follow that approach. If you are already versed in ADF BC or Oracle Forms, then ADF BC would be a logical choice. I will also say that Oracle seems to have invested more effort in the ADF BC side of things, so if you are still undecided, then maybe that observation can sway you to the ADF BC side.
    john

  • ADF Business Components from Tables - adding more tables

    Hi.
    I have already created a ADF Business Components from Tables and added tables from the Oracle database.
    My question is:
    Is it possible to add more tables to the same Business Components model?
    Not as a new Component Table, but with the same tables so i can use the same relations and mappings?

    Hi and thanks! Yes, I am talking about recreating a the same View Object that i already has created. In my first model i had the tables Name and Address. I want to add a new table called zipcode to the same View som i can choose colums from the zipcode-table in the same View as Name and Address.
    I'm not shure what you mean by Data Model tab? Can you spesify?
    Thanks!

  • Where to learn ADF business components??

    hi,
    can you please share a link regarding about using adf business components references. any ebook or book titles would also be appreciated. :D
    regards,
    simon
    Edited by: 848858 on Apr 24, 2011 3:27 AM

    Also this book:
    http://blogs.oracle.com/grantronald/2011/01/learning_adf_and_jdeveloper_is_a_top_seller.html
    Regards
    Grant

  • Improper allignment with ADF UI components

    Hi Every One
    When I am trying to build ADF UI Components using jspx page, I could not able to arrange varios ADF UI components like af:selectInputText,af:horizentalPannel properly. They are not alligned properly. Is there any way to allign UI components in order ?
    Thanks in Advance
    ivaR

    I am using af:pannelPage, Which consists of different ADF Faces Core components like :
    af:inputText
    af:selectInputText
    af:panelHorizontal
    af:outputLabel
    af:selectOneChoice.
    .. Like this i have 30 ui components need to be displayed in my jspx page.
    So when Iam trying to place all these UI components on panel page, all these components placed in irregular order. I want to place all components in tabular form with clear allignment.
    Can you please suggest me best practices or Tips to acheive this.
    Thanks in Advance
    ivaR
    Message was edited by:
    user616296

  • Modifying SQL used by ADF Business components

    How can we modify the query used by ADF Business components that are generated from database tables by dnd in JDeveloper?

    I would like to change the where clause at runtime based on some configuration that can be changed while application is up and running. Can I just over ride the getWhereClause of the ViewObjetcImpl for that?

  • Best Practices ADF Business Components

    Hi all,
    I'm reading the Dev Guide of ADF Business Components, and I've some questions:
    a) In the business tier, Which is the best way to create new rows in the db? I've found two ways: Using a ViewObject and then call create and insert or using the EntityDefinitionImpl object and call the createInstance2 function.
    b) In the business tier, which is the best way to search for a row in the db? I've found two ways: Using findByKey on the ViewObject or using the findByPrimaryKey on the EntityDefinitionImpl object.
    Thanks!

    Hi,
    a) use a ViewObject
    b) also I would think its the ViewObject
    Frank

Maybe you are looking for