ADF Faces Printer Friendly Views

Does anyone know how to create printer friendly pages in ADF Faces? Not only do I need the printer friendly format when I print, but I would also like to make a link to printer friendly page. I have played around with @media tag in css but I haven't got it working. Any help that someone could provide would be appreciated.

Hi,
it is easy, on the adfc-config.xml on the navigation rules that is pointing to print page before the action write dialog such as:
dialog:relation
for the commandbutton or commandLink use the property usewindow and windowHeight and windowWidth and the action such as below
  <af:commandImageLink         action="dialog:relation" //what you specified on adfc-config
                                                 icon="/images/icon-link.png"
id="cil2"
                                                 useWindow="true"
                                                 windowHeight="800"
                                                 windowWidth="750">
                    </af:commandImageLink>

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.

  • Printer-friendly date format

    Hello ALL!
    Please help me with one problem.
    I create Dashboard with Dashboard Prompt for date. And date format in prompt dd.mm.yyyy.
    But when I click on "Printer-friendly"->HTML (or PDF) button I see that date format is yyyy-mm-dd.
    Help me, how can I have same date format in Printer-friendly view too.

    Hi
    Not sure which version of OBIEE you are using..
    But i'm getting expected results only.
    BTW, i'm using 10.1.3.4.1
    Thanks & Regards
    Kishore Guggilla

  • Oracle.adf.faces.STATE compressed?

    Dear all,
    i have a question about how adf faces saving its view sate.
    in jsf (1.1_02), i can specify a context-parameter com.sun.faces.COMPRESS_STATE=false to avoid compressing the state information.
    adf faces seem store the view info in a hidden form field "oracle.adf.faces.STATE"
    is there any similar parameter in adf faces?
    or adf faces don't compress the state info?
    thank you.

    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.

  • Adf faces and xhtml

    I'm trying to generate xhtml 1 strict html pages using adf faces, but it doesn't seem to work correctly. What do i need to do to make it work?
    For example, the following jsf file:
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns="http://www.w3.org/1999/xhtml"
    xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/html">
    <f:view>
    <afh:html>
    <jsp:output omit-xml-declaration="false" doctype-root-element="html"
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"/>
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <afh:head title="Edit country">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    </afh:head>
    <afh:body>
    <h:form>
    <af:inputText label="Label 1"/>
    </h:form>
    </afh:body>
    </afh:html>
    </f:view>
    </jsp:root>
    Will generate an html document with 2 Doctypes, one for xhtml 1 strict and 1 declaring it html 4 loose. The page doesn't conform to xhtml, the input tag for example isn't closed.
    I also noticed that draging and dropping data controls on an xhtml jsf page doesn't work. You need to declare it as html 4 transitional to make drag and drop work.
    Another issue: i'm using the minimal skin. This skin generates invalid css files. For example, the selector for the body tag is in uppercase, but the tag itself is in lowercase. Css selectors are case sensitive, which means that the css file doesn't work in firefox.

    Andrejy,
    try and disable ADF Faces compression
    http://www.jroller.com/page/cschalk?entry=disabling_adf_faces_content_compression
    Mybe I am mixing things up with Oracle Reports, but I think I remember that compression also excluded unnecessary closing tags (might be wrong here)
    Frank

  • No Printer Friendly Link

    Hi,
    I am using Apex 3.0.1 on Database XE
    For some reason there are no "printer friendly" links on any of my pages (regardless of which built-in theme I use)
    In the past when I have used Apex 2.2 at my workplace, all of the default themes came ready with a printer friendly link on the page.
    What do I need to do to get easy access to printer friendly view (using the built-in printer friendly templates in each theme).
    Thanks,
    John

    John,
    Get started here http://download.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/demo.htm#sthref120
    Essentially, you create a page template, then set the theme your using to use that template, and then create a link that goes to the page in printer friendly mode. Let me know if you still have questions after.
    Dan

  • ADF Faces and multiframe window for master/detail view

    Hi,
    I have a web page divide into 2 frames : frame1, the master view and frame2 the detail view.
    When I load the whole web page, the master frame print all the paginated list. Each row has a "show more" button. When I click one, the corresponding detail view is displayed in the detail view (frame2). And, when I clicked again the "show more" button, the paginated list (present in the master view) is displayed in the detail view !!! WHY ??
    When I click a third time on the "show more" button, the detail view display the corresponding detail information (work well like first click)....and alternatively clicking on the "show more" button, this problems occurs.
    Where does this problem come from ?
    The ADF Faces code shown in the master view (targetFrame attribute means to display on the detail view when show more button is clicked).
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!-- table displaying the list of buildings -->
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
         xmlns:f="http://java.sun.com/jsf/core"
         xmlns:h="http://java.sun.com/jsf/html"
         xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
         xmlns:af="http://xmlns.oracle.com/adf/faces">
         <jsp:directive.page contentType="text/html;charset=utf-8" />
         <f:view >
              <af:document title="List of buildings" >
                   <af:form >
                        <af:panelPage title="Show the list of buildings">
                             <af:table var="building" value="#{buildingsBean.buildingsList}">
                                  <af:column>
                                       <af:outputText value="#{building.name}" />
                                  </af:column>
                                  <af:column>
                                       <af:outputText value="#{building.objectId}" />
                                  </af:column>
                                  <af:column>
                                       <af:commandButton text="Show more"
                                            action="#{adfMasterSlaveBackingBean.showBuilding}" >
                                       </af:commandButton>
                                  </af:column>
                             </af:table>
                        </af:panelPage>
                   </af:form>
              </af:document>
         </f:view>
    </jsp:root>

    Yes I put a targetFrame (I forgot to restablish it).
    Code of the backing bean (to show building list) :
    public List getBuildingsList() throws Exception {
              System.out.println("getBuildings");          
              CLPNetworkInstanceAPI netAPI = CLPNetworkInstanceAPI.getNetworkInstanceAPI();
              buildingsList.clear();
    try {
         CTResource resources[] = netAPI.fetchAllResourcesByType("CLPRMBuilding");      
                   for (int i=0; i<resources.length;i++)
                        buildingsList.add(resources);
              } catch (CTConnectionException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (CTUnsupportedTypeException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              return buildingsList;
    and the backing bean to show building detail :
    public String showBuilding() {
              FacesContext context = FacesContext.getCurrentInstance();
              CLPRMBuilding building = (CLPRMBuilding)
         context.getApplication().getVariableResolver().resolveVariable(context, "building");
         if (building == null)
         return "error";
         AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
         afContext.getProcessScope().put("buildingDetail", building);
         return "showBuilding";

  • ADF Faces & BC 10.1.3.4: Barcode Printing & ADF version of WebUtil?

    Hi all,
    Our existing application is built with Oracle Forms/Reports 9i which also uses Oracle WebUtil 10g because we need to print bar code labels. Our oracle forms appilcation invokes "Host" commands which allows it to print directly to the server's printer ports, this is accomplished by invoking WebUtil functionality which somehow bypasses(probably not the correct term to use) the jvm security sandbox. We need to have a similar barcode printing functionality on our ADF Faces/BC application however I'm not aware of the existence of "ADF WebUtil" which can be configured to allow access to printer ports.
    Here is some code snipets for the 9i Forms application for printing (which is done through Internet Explore Browser)
    CLIENT_TEXT_IO.PUT_LINE(myPrinter, output_str);
    If lineType = 'B' Then vertStartTemp := vertStartTemp + vertBStep;
    Else vertStartTemp := vertStartTemp + vertAStep;
    End If;
    End Loop;
    /* last line */
    output_str := 'P1'||chr(13)||chr(10);
    CLIENT_TEXT_IO.PUT_LINE(myPrinter, output_str);
    CLIENT_TEXT_IO.FCLOSE(myPrinter);
    EXCEPTION
    WHEN OTHERS THEN
    CLIENT_TEXT_IO.FCLOSE(myPrinter);
    message(sqlerrm );
    Raise Form_Trigger_Failure;
    END;
    Here is some java code which uses the awt library (only works locally due to jvm secuirty sandbox)
    public void testZebraBarCode(ActionEvent actionEvent) {
    //called from a commandButton action listner. will fail upon deployment to server because its trying to access native resouces.
    try {
    PrintService psZebra = null;
    PrinterJob printJob = PrinterJob.getPrinterJob();
    if (printJob.printDialog()) {
    psZebra = printJob.getPrintService();
    DocPrintJob job = psZebra.createPrintJob();
    String s =
    // Set Reference Point
    // Clear Image Buffer
    // Print direction (from Bottom of buffer)
    // Set label Length and gap
    "R0,0\n" + "N\n" + "ZB\n" + "Q122,16\n" +
    "A160,2,0,3,1,1,N,\"DATA: CARUGATE\"\n" +
    "B160,30,0,1A,2,7,50,N,\"612041600021580109\"\n" +
    "A160,92,0,1,1,1,N,\"AIA AGRICOLA IT.ALIMENT.S - 594679/VR\"\n" +
    "P1\n";
    byte[] by = s.getBytes();
    DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
    // MIME type = "application/octet-stream",
    // print data representation class name = "[B" (byte array).
                Doc doc = new SimpleDoc(by, flavor, null);
                job.print(doc, null);
            } catch (PrintException e) {
    e.printStackTrace();
    Can anyone point me to the proper direction on how to accomplish this task?
    Thanks,
    Wes

    Hi,
    if you build a web application then you have to integrate a Swing based Applet to the web age to access the local client. You can't with native web means
    Frank

  • View link refresh issue in a ADF Faces application

    ADF BC, ADF Faces, JDeveloper 10.1.3.3
    There is an example.
    I have an Entity SaleEntity and two view objects: SalesView (based on the SaleEntity) and ProductsView (read only). SaleEntity has an attribute productId to reference a product sold. SalesView and ProductsView are related by a view link. The link works fine in a Business Component Browser.
    Then I created a ADF Faces form to edit a sale. I used an af:selectInputText component for a productId:
    <af:selectInputText
        value="#{bindings.ProductId.inputValue}"
        label="#{bindings.ProductId.label}" 
        required="true"
        columns="6"
        action="dialog:ProductSearch"
        autoSubmit="true"
        valueChangeListener="#{CreateSaleBean.productId_valueChanged}" 
        tip="#{bindings.ProductsViewName.inputValue}">
      <af:validator binding="#{bindings.ProductId.validator}"/>
    </af:selectInputText>
    {code}
    User can enter productId directly or select a product from a LOV. I set a tip attribute of af:selectInputText to display a name of the current product. The tip uses ProductsView through the view link between SalesView and ProductsView. valueChangeListener is used here to make tip update right after partial form submit:
    {code:java}
      public void productId_valueChanged(ValueChangeEvent valueChangeEvent) {
        String prodId = (String) valueChangeEvent.getNewValue();  
        JSFUtils.setExpressionValue("#{bindings.ProductId.inputValue}", prodId);
        getIteratorBinding("SalesViewIterator").refresh(DCExecutableBindingDef.RC_REFRESH);
        getIteratorBinding("ProductsView").refresh(DCExecutableBindingDef.RC_REFRESH);
    {code}
    SaleEntity has a productId attribute validator to ensure that id of existing product was specified. The validator is implemented in the same way as ADF Developer Guide chapter "9.6.2 Implementing an Efficient Existence Check" describes.
    All this works fine when user enters correct productId - the new value is submitted and the tip is updated. But if user enters non existing productId - the tip doesn't change. It seems that detail view row currency doesn't change in that case. I want to make the tip empty when the provided productId is incorrect. Any ideas how to achieve this?
    Thanks,
    Marius                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Blaise,
    no I don't want to insert new product. I want make products view object have no current row.
    In addition product existence check code is in a sale entity. I don't think it is a good idea to have an entity object depending to some specific view object. Maybe I'm in the wrong.
    Marius

  • Dynamic view names in view objects (adf faces bc 10g)...

    I have written an application in adf faces and business components, but would like to be able to add sections to it by simply creating a database view, say with standard names and a suffix, and probably static number of columns (just a read only view). i can handle the front end and logic, but can't see a way to parametise the view names & columns in business component's view objects. I can do things like create a load of dummy views with 10 cols in say selecting 0 from dual then chuck them in the model, which is messy, but would work... Just wondering if there is a cleaner way i can achieve this through the model or any other method, so any ideas that could point me in the right direction would be useful.
    Thanks in advance...
    Tim.

    Hi,
    you may want to investigate into dynamic ViewObjects or dynamicaly adding attributes like example 9 and 29 of http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html
    See also
    http://www.bloggingaboutjava.org/2006/04/binding-dynamic-view-object/
    Frank

  • JDEV 10.1.3: Using "Create" binding on BC view object with ADF Faces Table

    Hello,
    I am trying to get this to work, but to no avail:
    I've got a very simple page (ADF Faces - JSPX) created by dragging an iterator from the data control pallete on to my page and picking "ADF Table..." as my chose to create. This creates a table on my page that allows me to edit each row in place. Very nice.
    Now, I dragged the create operation for that iterator on to the page. What I had hoped to see is that when I click "Create," a new blank row appears in my table (well, at least a row that is blank except for any default values specified in the EO/VO and my overriden create() method).
    However, this doesn't happen. The page submits and refreshes, but no blank row shows up. I initially tried setting the Create button to do partial submit and setting the partialtriggers for the table to include the Create button, to no avail. I also tried it without the partial submit with the same results.
    So:
    1). Should this work, or is this behavior a bug.?
    2). If not, is there a different/better way of doing it?
    Regards,
    John

    G'day John
    I think I can give you a hint of what is occuring... I'm still trying to work out what is happening exactly.
    In JDev 10.1.2 UIX, when the user invoked the create action, they would see the blank record added to the underlying table. Under 10.1.3 Faces the functionality is somewhat different.
    When you the user clicks on the create action a blank record is created but not shown in the table control. To prove the blank record is there try this:
    1) Build an ADF Input Form based on the same VO iterator
    2) In your JSF navigation, create a navigation case between the existing page and the new page, and another back again,
    3) In the existing page, map the Create button's action attribute to navigate to the ADF Input Form
    4) In the ADF Input Form, map the Submit button's action attribute to navigate to the ADF Table page.
    Now when you run your app, notice when you create a new record in the ADF Table which automatically takes you to the ADF Input Form, note the blank record, and the details you enter into the record here and submit, are then visible in the ADF Table on the return.
    This is a long way of proving that the new record is in the table. It's just you can't see it.
    I have a theory which I'm trawling through the newly updated documentation to verify. This issues goes back to the VO createRow vs insertRow method calls that have been documented by Steve Muench a couple of times. I'm guessing the table control is now smarter and doesn't show createRow records, only insertRow records.
    Read one of Steve's posts here regards the createRow vs insertRow method calls:
    http://www.oracle.com/technology/products/jdev/tips/muench/blankrow/index.html
    If I find anymore info I'll endeavour to post it.
    Meanwhile this of course doesn't help you if you actually want to show the blank row in the ADF Table editable control, but I'd thought I'd give you an idea of what's happening behind the scenes.
    Hope this helps.
    CM.

  • ADF Faces showDetailItem seems to "load" child elements twice on tab select

    Problem Summary:
    Child elements of showDetailItem are being loaded/executed twice. The parent of the showDetailItem is a showOneTab, and the child of showDetailItem is an af:objectImage, which calls a servlet I have written that outputs an image.
    The problem I am having is that when I click on a tab (showDetailItem) my servlet is called twice. It is as if the af:objectImage line of my JSP is executed twice.
    I have proven this with breakpoints in the servlet and printing a message to the console. The doGet() method of my servlet is called twice. Using breakpoints in the JSP I see the JSP is executed/read only once.
    Details:
    I am requesting help with this problem as I cannot solve it one my own. I have tried the following, but have had no success.
    1. Searched the web for a similar problem.
    2. Searched this forum for a similar problem.
    3. Consulted the ADF Developer Guide version 10.1.3.0
    4. Upgraded my version of JDeveloper to 10.1.3.2.0, which has ADF Faces (oracle.faces.dt) version 10.1.3.40.66.
    5. Debugging with print statements and stepping through JSP and servlet code.
    6. Created the simplest JSP possible that I could still produce the problem with.
    The Scenario:
    My goal is to use the ADF Faces showOneTab and showDetailItem tags to create two tabbed panels that will contain a blank tab (tab one) and an image (on tab 2).
    I have written a servlet, BrowserImage, which takes and ID as a parameter retrieves a BLOB from view object and then outputs a jpeg image to the browser. This is done by using the af:objectImage tag and specifying my servlet in the source parameter. The image is displayed fine, but I don't want the servlet to be called twice for performance reasons.
    Here is the simplest JSP that contains the problem.
    Note: I tried to simplify even more by calling the servlet in different ways (jsp:include etc..), but was unable to produce the problem. I think it is key that I call the servlet using an ADF Faces tag (af:objectImage).
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <%@ page import="javax.faces.context.FacesContext"%>
    <%@ page import="javax.faces.el.ValueBinding"%>
    <%@ page import="oracle.adf.model.BindingContext"%>
    <%@ page import="oracle.adf.model.binding.DCDataControl"%>
    <%@ page import="oracle.jbo.ApplicationModule"%>
        <%! FacesContext fc = FacesContext.getCurrentInstance(); %>
        <%! ValueBinding vb = fc.getApplication().createValueBinding("#{data}"); %>
        <%! BindingContext bc = (BindingContext)vb.getValue(fc); %>
        <%! DCDataControl dc = bc.findDataControl("AdSearchAppModuleDataControl"); %>
        <%! ApplicationModule am = (ApplicationModule)dc.getDataProvider();%>
        <% session.setAttribute("theAm", am); %>  
    <f:view>
      <afh:html>
        <afh:head title="showOneTest">
          <meta http-equiv="Content-Type"
                content="text/html; charset=windows-1252"/>
        </afh:head>
        <afh:body>
          <af:form>
            <af:showOneTab position="above">
              <af:showDetailItem text="showDetailItem 1">
              </af:showDetailItem>
              <af:showDetailItem text="showDetailItem 2">
                <af:objectImage source="/BrowserImage?imgId=1"/>
              </af:showDetailItem>
            </af:showOneTab>
          </af:form>
        </afh:body>
      </afh:html>
    </f:view>Note: The Java Script code included in the JSP is used to get an application module instance and pass it to my servlet in the session scope, so my servlet can access a view object, which contains the BLOB to output. I thought I should explain this as it may look confusing.
    Any help would be appreciated.
    Thanks,
    Mark

    I don't think adding a flag to my servlet will work. I left out some details in the original posting that will likely make the flag solution unusable.
    It is true that when I click on a tab that my servlet is called twice. My main goal is to ensure that the BrowserImage servlet only called when truly needed. The part I left out of the original posting is that if I click on a tab for the first time I can see my messages in the console indicating it was called twice.
    . BrowserImage severlet called (doGet)
    . BrowserImage servlet called (doGet)
    The key is if I click on the tab again I only see the message appear once.
    . BrowserImage severlet called (doGet)
    At first I thought this was the correct behavior, but I now feel this is wrong as I think the image is being cached locally on the client browser by ADF Faces, so the first call to BrowserImage is not made, but for some reason on the second "load" of the panel the BrowserImage servlet is called.
    To summarize the new details, I still think the showDetailItem is "loading" twice, but BrowserImage is only being called once, because the first loading used a locally cached image. This is my best guess, I did not prove this 100%. I did prove that the image is shown on the page before my servlet outputs it this made me start thinking about the client cache. Also I think it is an ADF Faces specific cache because if I use the "img" tag I don't think caching is used and the image is output by the call to my servlet. I don't want to use img for two reasons, 1 I would d like to use the client cache, 2 the img tag will not stay inside the showDetailItem, showDetail Item needs af: components as children it seems.
    So the reason I feel this problem can't be solved with a flag is because I think the image will be cached on the client side and if the showDetailItem is loaded twice it seems my servlet is called once, but it was not required to be called to render the image. I can't use the concept of checking for the servlet being called by the same session in very quick succession, because the real problem I am trying to solve is the servlet should not be called at all, if the client cache had been used.
    Perhaps there is a way for my servlet to determine if the client cache was used, but I have no idea how.
    I should also point out I am displaying images in a table instead of a showOneTab using the same servlet and technique and the client cache is always used correctly, the BrowserImage is only called if the image is not cached on the client. This is why I think this is a showOneTab problem.
    Sorry for leaving out these details, but I did not want to confuse the original posting with too much info. I figured if the tab was only loaded once, the cached image would be used and all would be good.
    Again if you can provide more help I really appreciate it.

  • ADF Faces : session timeout best practice

    hi
    I made these small modifications to the web.xml file in the SRDemoSample application:
    (a) I changed the login-config from this ...
      <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
          <form-login-page>infrastructure/SRLogin.jspx</form-login-page>
          <form-error-page>infrastructure/SRLogin.jspx</form-error-page>
        </form-login-config>
      </login-config>... to this
      <login-config>
        <auth-method>BASIC</auth-method>
      </login-config>(b) I changed the session-timeout to 1 minute.
      <session-config>
        <session-timeout>1</session-timeout>
      </session-config>Please consider this scenario:
    (1) Run the UserInterface project of the SRDemoSample application in JDeveloper.
    (2) Authenticate using "sking" and password "welcome".
    (3) Click on the "My Service Requests" tab.
    (4) Click on a "Request Id" like "111". You should see a detail page titled "Service Request Information for SR # 111" that shows detail data on the service request.
    (5) Wait for at least one minute for the session to timeout.
    (6) Click on the "My Service Requests" tab again. I see the same detail page as in (4), now titled "Service Request Information for SR #" and not showing any detail data.
    question
    What is the best practice to detect such session timeouts and handle them in a user friendly way in an ADF Faces application?
    thanks
    Jan Vervecken

    Hi,
    no. Here's the content copied from a word doc:
    A frequent question on the JDeveloper OTN forum, and also one that has been asked by customers directly, is how to detect and graceful handle user session expiry due to user inactivity.
    The problem of user inactivity is that there is no way in JavaEE for the server to call the client when the session has expired. Though you could use JavaScript on the client display to count
    down the session timeout, eventually showing an alert or redirecting the browser, this goes with a lot of overhead. The main concern raised against unhandled session invalidation due to user
    inactivity is that the next user request leads to unpredictable results and errors messages. Because all information stored in the user session get lost upon session expiry, you can't recover the
    session and need to start over again. The solution to this problem is a servlet filter that works on top of the Faces servlet. The web.xml file would have the servlet configured as follows
    1.     <filter>
    2.         <filter-name>ApplicationSessionExpiryFilter</filter-name>
    3.         <filter-class>
    4.             adf.sample.ApplicationSessionExpiryFilter
    5.         </filter-class>
    6.         <init-param>
    7.             <param-name>SessionTimeoutRedirect</param-name>
    8.             <param-value>SessionHasExpired.jspx</param-value>
    9.         </init-param>
    10.     </filter>
    This configures the "ApplicationSessionExpiryFilter" servlet with an initialization parameter for the administrator to configure the page that the filter redirects the request to. In this
    example, the page is a simple JSP page that only prints a message so the user knows what has happened. Further in the web.xml file, the filter is assigned to the JavaServer Faces
    servlet as follows
    1.     <filter-mapping>
    2.             <filter-name>ApplicationSessionExpiryFilter</filter-name>
    3.             <servlet-name>Faces Servlet</servlet-name>
    4.         </filter-mapping>
    The Servlet filter code compares the session Id of the request with the current session Id. This nicely handles the issue of the JavaEE container implicitly creating a new user session for the incoming request.
    The only special case to be handled is where the incoming request doesn't have an associated session ID. This is the case for the initial application request.
    1.     package adf.sample;
    2.     
    3.     import java.io.IOException;
    4.     
    5.     import javax.servlet.Filter;
    6.     import javax.servlet.FilterChain;
    7.     import javax.servlet.FilterConfig;
    8.     import javax.servlet.ServletException;
    9.     import javax.servlet.ServletRequest;
    10.     import javax.servlet.ServletResponse;
    11.     import javax.servlet.http.HttpServletRequest;
    12.     import javax.servlet.http.HttpServletResponse;
    13.     
    14.     
    15.     public class ApplicationSessionExpiryFilter implements Filter {
    16.         private FilterConfig _filterConfig = null;
    17.        
    18.         public void init(FilterConfig filterConfig) throws ServletException {
    19.             _filterConfig = filterConfig;
    20.         }
    21.     
    22.         public void destroy() {
    23.             _filterConfig = null;
    24.         }
    25.     
    26.         public void doFilter(ServletRequest request, ServletResponse response,
    27.                              FilterChain chain) throws IOException, ServletException {
    28.     
    29.     
    30.             String requestedSession =   ((HttpServletRequest)request).getRequestedSessionId();
    31.             String currentWebSession =  ((HttpServletRequest)request).getSession().getId();
    32.            
    33.             boolean sessionOk = currentWebSession.equalsIgnoreCase(requestedSession);
    34.           
    35.             // if the requested session is null then this is the first application
    36.             // request and "false" is acceptable
    37.            
    38.             if (!sessionOk && requestedSession != null){
    39.                 // the session has expired or renewed. Redirect request
    40.                 ((HttpServletResponse) response).sendRedirect(_filterConfig.getInitParameter("SessionTimeoutRedirect"));
    41.             }
    42.             else{
    43.                 chain.doFilter(request, response);
    44.             }
    45.         }
    46.        
    47.     }
    This servlet filter works pretty well, except for sessions that are expired because of active session invalidation e.g. when nuking the session to log out of container managed authentication. In this case my
    recommendation is to extend line 39 to also include a check if security is required. This can be through another initialization parameter that holds the name of a page that the request is redirected to upon logout.
    In this case you don't redirect the request to the error page but continue with a newly created session.
    Ps.: For testing and development, set the following parameter in web.xml to 1 so you don't have to wait 35 minutes
    1.     <session-config>
    2.         <session-timeout>1</session-timeout>
    3.     </session-config> Frank
    Edited by: Frank Nimphius on Jun 9, 2011 8:19 AM

  • Intro ADF Faces Tutorial Issue:  ADF Table Component and ADF Binding

    Hello, friends! I've hit a snag with ADF Faces Tutorial: ADF Table Component and ADF Binding: Step 7
    http://www.oracle.com/technology/obe/obe11jdev/11/rich_client/adfrichclient.htm#t11
    It was suggested by Steve Muench that I most likely have a syntax error and that I should post my problem here. I want to you thank you in advance for you help!
    When I execute the Run command on the main.jspx page, the page completes its load with the "fetching" message hanging over the table component. I get two sets of messages in my OC4J log that I cannot easily decipher, being a JDev/OC4J newbie.
    First, the OC4J startup messages:
    <blockquote>
    [Starting Embedded OC4J Server using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
    C:\Documents and Settings\david ctr wilson-bur\My Documents\My Projects\JDev Projects\system11.1.1.0.22.47.96\o.j2ee\embedded-oc4j\config>
    C:\jdev11g\jdk\bin\javaw.exe -client -classpath C:\jdev11g\j2ee\home\oc4j.jar;C:\jdev11g\jdev\lib\jdev-oc4j-embedded.jar -Xverify:none -XX:MaxPermSize=512m -Ddisable.checkForUpdate=true -Doracle.application.environment=development -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false "-Djava.security.policy=C:\Documents and Settings\david ctr wilson-bur\My Documents\My Projects\JDev Projects\system11.1.1.0.22.47.96\o.j2ee\embedded-oc4j\config\java2.policy" oracle.oc4j.loader.boot.BootStrap -config "C:\Documents and Settings\david ctr wilson-bur\My Documents\My Projects\JDev Projects\system11.1.1.0.22.47.96\o.j2ee\embedded-oc4j\config\server.xml"
    [waiting for the server to complete its initialization...]
    Feb 21, 2008 9:10:20 AM oracle.j2ee.xml.XMLMessages warningException
    WARNING: Exception Encountered
    Feb 21, 2008 9:10:21 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    08/02/21 09:10:28 WARNING: ApplicationServer.enableOC4JDocumentChangeNotifier Alternate DocumentChangeNotifier in use!
    08/02/21 09:10:28 JMS server will listen on port 9227.
    08/02/21 09:10:29 oracle.j2ee.jms.oc4j.JMSServer startup complete
    Feb 21, 2008 9:10:29 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    Feb 21, 2008 9:10:30 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    Feb 21, 2008 9:10:35 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    Feb 21, 2008 9:10:36 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    Feb 21, 2008 9:10:36 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    Feb 21, 2008 9:10:36 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    Feb 21, 2008 9:10:36 AM oracle.j2ee.util.AnnotatedLogger logWithThrowable
    WARNING: J2EE JNDI-00002
    Feb 21, 2008 9:10:36 AM oracle.j2ee.util.AnnotatedLogger log
    WARNING: No javax.jms.ConnectionFactory found at null
    Feb 21, 2008 9:10:36 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    Feb 21, 2008 9:10:37 AM oracle.security.jps.fmw.util.JpsFmwUtil findSystemUser
    WARNING: findSystemUser: System user is not available from Credential Store.
    Feb 21, 2008 9:10:39 AM oracle.j2ee.jmsrouter.util.JmsRouterMessages logException
    WARNING: oracle.j2ee.jmsrouter.RouterException: JMS Destination, {0}, does not exist
    Ready message received from Oc4jNotifier.
    Embedded OC4J Server startup time: 35016 ms.
    </blockquote>
    Next, message for the Run command:
    <blockquote>
    Target URL -- http://127.0.0.1:8988/Tutorial-adffacesrc-context-root/faces/main.jspx
    Feb 21, 2008 9:10:55 AM com.evermind.server.http.HttpMessages warningHeaderModificationIsRejected
    WARNING: Header modification request was rejected. Because the setter method was called from included servlet. It is restricted by SRV.8.3 of Servlet Specification 2.4. : current-workspace-app
    Feb 21, 2008 9:10:55 AM ComponentMetadataHandler _error
    WARNING: Error parsing component tag in file: /Tutorial-adffacesrc-context-root/simple.jspx/tag:xmlContent/id:null
    org.xml.sax.SAXParseException: <Line 3, Column 44>: XML-20100: (Fatal Error) Expected 'EOF'.
         at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:422)
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:287)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:316)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:212)
         at oracle.xml.jaxp.JXSAXParser.parse(JXSAXParser.java:292)
         at oracle.adfinternal.view.faces.taglib.region.ComponentMetadataHandler._parseContent(ComponentMetadataHandler.java:276)
         at oracle.adfinternal.view.faces.taglib.region.ComponentMetadataHandler.handleContent(ComponentMetadataHandler.java:164)
         at oracle.adfinternal.view.faces.taglib.region.XmlContentTag.doEndTag(XmlContentTag.java:83)
         at simplejspx._ctru6_helper_3(_simple_jspx.java:375)
         at simplejspx._ctru0_helper_1(_simple_jspx.java:105)
         at simplejspx._jspService(_simple_jspx.java:59)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:60)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:488)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:706)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:627)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter$3.run(JAZNFilter.java:434)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:308)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:452)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:585)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_include(ServletRequestDispatcher.java:131)
         at com.evermind.server.http.ServletRequestDispatcher.access$000(ServletRequestDispatcher.java:37)
         at com.evermind.server.http.ServletRequestDispatcher$1.oc4jRun(ServletRequestDispatcher.java:80)
         at oracle.oc4j.security.OC4JPrivilegedAction.run(OC4JPrivilegedAction.java:41)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.oc4j.security.OC4JSecurity.internalDoPrivileged(OC4JSecurity.java:374)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:389)
         at com.evermind.server.http.OC4JRequestDispatcher.executeAction(OC4JRequestDispatcher.java:161)
         at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:84)
         at com.evermind.server.http.EvermindPageContext.include(EvermindPageContext.java:486)
         at oracle.adfinternal.view.faces.taglib.region.ComponentRefTag.__include(ComponentRefTag.java:367)
         at oracle.adfinternal.view.faces.taglib.region.ComponentRefTag.doEndTag(ComponentRefTag.java:209)
         at oracle.adfinternal.view.faces.taglib.region.PageTemplateTag.doEndTag(PageTemplateTag.java:75)
         at mainjspx._ctru4_helper_5(_main_jspx.java:367)
         at mainjspx._ctru3_helper_4(_main_jspx.java:307)
         at mainjspx._ctru1_helper_2(_main_jspx.java:232)
         at mainjspx._ctru0_helper_1(_main_jspx.java:173)
         at mainjspx._jspService(_main_jspx.java:105)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:60)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:488)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:706)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:627)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter$3.run(JAZNFilter.java:434)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:308)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:452)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:585)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:334)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:251)
         at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:168)
         at oracle.oc4j.security.OC4JPrivilegedAction.run(OC4JPrivilegedAction.java:41)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.oc4j.security.OC4JSecurity.internalDoPrivileged(OC4JSecurity.java:374)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:389)
         at com.evermind.server.http.OC4JRequestDispatcher.executeAction(OC4JRequestDispatcher.java:161)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:172)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
         at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:633)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:244)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:204)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:178)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.adfinternal.view.faces.webapp.rich.SharedLibraryFilter.doFilter(SharedLibraryFilter.java:135)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:281)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:69)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:281)
         at oracle.adfinternal.view.faces.activedata.ADSFilter.doFilter(ADSFilter.java:74)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:281)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:241)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:198)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:141)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.security.jazn.oc4j.JAZNFilter$3.run(JAZNFilter.java:434)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:308)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:452)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:583)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:334)
         at com.evermind.server.http.HttpRequestHandler.doDispatchRequest(HttpRequestHandler.java:942)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:843)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:646)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:614)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:405)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:168)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:149)
         at oracle.oc4j.network.ServerSocketReadHandler$ClientRunnable.run(ServerSocketReadHandler.java:275)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    </blockquote>
    Please let me know if I need to provide any other relevant information.
    Thanks!
    David

    Dear All,
    I am fairly new to ADF development too. While following the Tutorial, I selected the "simple" page template. and check the "Create as XML Document (*.jspx). then click "OK", I got a similar SAXParseException exception, however the main.jspx seemed showed up correctly in the "Design" window. Any idea? Thanks a lot.
    Dachywan
    Customizations are disabled for the node "/C:/OTN/JDev11pv3/adfp/lib/oracle.extapp.view.jar!/WEB-INF/adfc-config.xml" because it is not part of the project contentset.
    Mar 10, 2008 5:41:50 PM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initializing JavaServer Faces implementation (1_2_04-p02) for context ''
    Mar 10, 2008 5:41:51 PM com.sun.faces.spi.InjectionProviderFactory createInstance
    WARNING: JSF1033: Resource injection is DISABLED.
    Customizations are disabled for the node "/C:/OTN/JDev11pv3/adfp/lib/oracle.extapp.view.jar!/WEB-INF/adfc-config.xml" because it is not part of the project contentset.
    Mar 10, 2008 5:41:54 PM ComponentMetadataHandler _error
    WARNING: Error parsing component tag in file: null/tag:xmlContent/id:dte_171098d
    org.xml.sax.SAXParseException: <Line 9, Column 7>: XML-20100: (Fatal Error) Expected 'EOF'.
         at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:422)
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:287)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:316)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:212)
         at oracle.xml.jaxp.JXSAXParser.parse(JXSAXParser.java:292)
         at oracle.adfinternal.view.faces.taglib.region.ComponentMetadataHandler._parseContent(ComponentMetadataHandler.java:276)
         at oracle.adfinternal.view.faces.taglib.region.ComponentMetadataHandler.handleContent(ComponentMetadataHandler.java:164)
         at oracle.adfinternal.view.faces.taglib.region.XmlContentTag.doEndTag(XmlContentTag.java:83)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer._doEndTag(DesignTimeJspActionRenderer.java:1604)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.doEndTag(DesignTimeJspActionRenderer.java:1718)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeTag(DesignTimeJspActionRenderer.java:2432)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeNodeTag(DesignTimeJspActionRenderer.java:2242)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.executeNodeTag(FacesActionRenderer.java:1971)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderImpl(DesignTimeJspActionRenderer.java:325)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.render(DesignTimeJspActionRenderer.java:203)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.render(FacesActionRenderer.java:175)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChild(DesignTimeRenderer.java:996)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChild(DesignTimeJspActionRenderer.java:1403)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChildren(DesignTimeRenderer.java:974)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChildrenImpl(DesignTimeJspActionRenderer.java:1363)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChildren(DesignTimeJspActionRenderer.java:1268)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.renderChildren(FacesActionRenderer.java:897)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeInnerAction(DesignTimeJspActionRenderer.java:2578)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeTag(DesignTimeJspActionRenderer.java:2397)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeNodeTag(DesignTimeJspActionRenderer.java:2242)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.executeNodeTag(FacesActionRenderer.java:1971)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderImpl(DesignTimeJspActionRenderer.java:325)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.render(DesignTimeJspActionRenderer.java:203)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.render(FacesActionRenderer.java:175)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChild(DesignTimeRenderer.java:996)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChildren(DesignTimeRenderer.java:974)
         at oracle.jdevimpl.webapp.jsp.renderers.JSPCoreSyntaxRenderer.render(JSPCoreSyntaxRenderer.java:191)
         at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet._renderSource(DesignTimeJspServlet.java:238)
         at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet.serviceJsp(DesignTimeJspServlet.java:115)
         at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet.service(DesignTimeJspServlet.java:71)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletInfo.service(DesignTimeServletInfo.java:251)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher.dispatch(DesignTimeRequestDispatcher.java:271)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher.include(DesignTimeRequestDispatcher.java:81)
         at oracle.jdevimpl.webapp.design.support.jsp.DesignTimePageContext.include(DesignTimePageContext.java:465)
         at oracle.adfinternal.view.faces.taglib.region.ComponentRefTag.__include(ComponentRefTag.java:367)
         at oracle.adfinternal.view.faces.taglib.region.ComponentRefTag.doEndTag(ComponentRefTag.java:209)
         at oracle.adfinternal.view.faces.taglib.region.PageTemplateTag.doEndTag(PageTemplateTag.java:75)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer._doEndTag(DesignTimeJspActionRenderer.java:1604)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.doEndTag(DesignTimeJspActionRenderer.java:1718)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeTag(DesignTimeJspActionRenderer.java:2432)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeNodeTag(DesignTimeJspActionRenderer.java:2242)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.executeNodeTag(FacesActionRenderer.java:1971)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderImpl(DesignTimeJspActionRenderer.java:325)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeInnerAction(DesignTimeJspActionRenderer.java:2572)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeTag(DesignTimeJspActionRenderer.java:2397)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeNodeTag(DesignTimeJspActionRenderer.java:2242)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.executeNodeTag(FacesActionRenderer.java:1971)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderParentElements(DesignTimeJspActionRenderer.java:967)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.renderCustomParentNode(FacesActionRenderer.java:1911)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.renderAsInclude(FacesActionRenderer.java:1778)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderInclude(DesignTimeJspActionRenderer.java:1933)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderImpl(DesignTimeJspActionRenderer.java:233)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.render(DesignTimeJspActionRenderer.java:203)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.render(FacesActionRenderer.java:175)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChild(DesignTimeRenderer.java:996)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChild(DesignTimeJspActionRenderer.java:1403)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChildren(DesignTimeRenderer.java:974)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChildrenImpl(DesignTimeJspActionRenderer.java:1363)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChildren(DesignTimeJspActionRenderer.java:1268)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.renderChildren(FacesActionRenderer.java:897)
         at oracle.adfdtinternal.view.rich.renderer.ADFFacesActionRenderer.renderChildren(ADFFacesActionRenderer.java:100)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeInnerAction(DesignTimeJspActionRenderer.java:2578)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeTag(DesignTimeJspActionRenderer.java:2397)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeNodeTag(DesignTimeJspActionRenderer.java:2242)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.executeNodeTag(FacesActionRenderer.java:1971)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderImpl(DesignTimeJspActionRenderer.java:325)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.render(DesignTimeJspActionRenderer.java:203)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.render(FacesActionRenderer.java:175)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChild(DesignTimeRenderer.java:996)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChild(DesignTimeJspActionRenderer.java:1403)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChildren(DesignTimeRenderer.java:974)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChildrenImpl(DesignTimeJspActionRenderer.java:1363)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChildren(DesignTimeJspActionRenderer.java:1268)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.renderChildren(FacesActionRenderer.java:897)
         at oracle.adfdtinternal.view.rich.renderer.ADFFacesActionRenderer.renderChildren(ADFFacesActionRenderer.java:100)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeInnerAction(DesignTimeJspActionRenderer.java:2578)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeTag(DesignTimeJspActionRenderer.java:2397)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeNodeTag(DesignTimeJspActionRenderer.java:2242)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.executeNodeTag(FacesActionRenderer.java:1971)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderImpl(DesignTimeJspActionRenderer.java:325)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.render(DesignTimeJspActionRenderer.java:203)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.render(FacesActionRenderer.java:175)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChild(DesignTimeRenderer.java:996)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChild(DesignTimeJspActionRenderer.java:1403)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChildren(DesignTimeRenderer.java:974)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChildrenImpl(DesignTimeJspActionRenderer.java:1363)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderChildren(DesignTimeJspActionRenderer.java:1268)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.renderChildren(FacesActionRenderer.java:897)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeInnerAction(DesignTimeJspActionRenderer.java:2578)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeTag(DesignTimeJspActionRenderer.java:2397)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.executeNodeTag(DesignTimeJspActionRenderer.java:2242)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.executeNodeTag(FacesActionRenderer.java:1971)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.renderImpl(DesignTimeJspActionRenderer.java:325)
         at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.render(DesignTimeJspActionRenderer.java:203)
         at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.render(FacesActionRenderer.java:175)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChild(DesignTimeRenderer.java:996)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChildren(DesignTimeRenderer.java:974)
         at oracle.jdevimpl.webapp.jsp.renderers.JSPCoreSyntaxRenderer.render(JSPCoreSyntaxRenderer.java:191)
         at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet._renderSource(DesignTimeJspServlet.java:238)
         at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet.serviceJsp(DesignTimeJspServlet.java:115)
         at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet.service(DesignTimeJspServlet.java:71)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletInfo.service(DesignTimeServletInfo.java:251)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher.dispatch(DesignTimeRequestDispatcher.java:271)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher.forward(DesignTimeRequestDispatcher.java:75)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
         at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:633)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:244)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:204)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletInfo.service(DesignTimeServletInfo.java:251)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher$DesignTimeFilterChain.doFilter(DesignTimeRequestDispatcher.java:519)
         at oracle.adfinternal.view.faces.webapp.rich.SharedLibraryFilter.doFilter(SharedLibraryFilter.java:135)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:281)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:69)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:281)
         at oracle.adfinternal.view.faces.activedata.ADSFilter.doFilter(ADSFilter.java:74)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:281)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:241)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:198)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:141)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeFilterInfo.doFilter(DesignTimeFilterInfo.java:346)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher$DesignTimeFilterChain.doFilter(DesignTimeRequestDispatcher.java:481)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher.dispatch(DesignTimeRequestDispatcher.java:267)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletContainerContext._service(DesignTimeServletContainerContext.java:861)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletContainerContext._serviceRequest(DesignTimeServletContainerContext.java:832)
         at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletContainerContext.service(DesignTimeServletContainerContext.java:792)
         at oracle.jdevimpl.webapp.design.DesignTimeRenderWebApp.service(DesignTimeRenderWebApp.java:42)
         at oracle.jdevimpl.webapp.design.DesignTimeEngine.service(DesignTimeEngine.java:200)
         at oracle.jdevimpl.webapp.design.view.DomDesignTimeViewDocument._serviceJsp(DomDesignTimeViewDocument.java:1081)
         at oracle.jdevimpl.webapp.design.view.DomDesignTimeViewDocument.rebuildTreeImpl(DomDesignTimeViewDocument.java:217)
         at oracle.jdevimpl.webapp.design.view.DomDesignTimeViewDocument.rebuildImpl(DomDesignTimeViewDocument.java:125)
         at oracle.jdevimpl.webapp.model.content.dom.view.proxy.DomProxyViewDocument.rebuild(DomProxyViewDocument.java:140)
         at oracle.jdevimpl.webapp.model.content.dom.view.proxy.DomProxyViewDocument.handleActivated(DomProxyViewDocument.java:402)
         at oracle.jdevimpl.webapp.design.view.DomDesignTimeViewDocument.handleActivated(DomDesignTimeViewDocument.java:93)
         at oracle.jdevimpl.webapp.model.content.dom.view.proxy.DomProxyViewDocument.activate(DomProxyViewDocument.java:391)
         at oracle.jdevimpl.webapp.editor.XmlGuiEditor._activateViewDocument(XmlGuiEditor.java:389)
         at oracle.jdevimpl.webapp.editor.XmlGuiEditor.handleEnabled(XmlGuiEditor.java:368)
         at oracle.jdevimpl.webapp.editor.XmlGuiEditor.setEnabled(XmlGuiEditor.java:351)
         at oracle.jdevimpl.webapp.editor.XmlGuiEditor.setEnabled(XmlGuiEditor.java:333)
         at oracle.jdevimpl.webapp.editor.AbstractWebAppEditor.enable(AbstractWebAppEditor.java:551)
         at oracle.jdevimpl.webapp.editor.AbstractWebAppEditor._enableIfNecessary(AbstractWebAppEditor.java:649)
         at oracle.jdevimpl.webapp.editor.AbstractWebAppEditor.mav$_enableIfNecessary(AbstractWebAppEditor.java:80)
         at oracle.jdevimpl.webapp.editor.AbstractWebAppEditor$2.run(AbstractWebAppEditor.java:636)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

  • JDeveloper 10g, ADF Faces & BC: setVar method on CoreTable is not working

    Hi all,
    I am in the process of creating a custom tag library for our organization. I seem to be having problems with the setVar method on the CoreTable component. I created a simple reproducible example using the scott/tiger schema. Within my tabletest.jsp, I have a af:table which was created via dragging from the datacontrol pallet. Next, I add my custom tag and set the same value attribute. When I run the page, #{row.Deptno} does not evaluate to anything! However, I know that the value is set properly due to the same number of rows appearing within my custom table tag.
    Suggestions are appreciated.
    thanks,
    Wes
    Here is the screen shot of my example:
    http://www.flickr.com/photos/54652784@N03/5062690216
    jsp code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
    <%@ taglib uri="http://acme.customtag" prefix="customtag"%>
    <f:view>
    <afh:html>
    <afh:head title="tabletest">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    </afh:head>
    <afh:body>
    <af:messages/>
    <h:form>
    <af:outputText value="below is the adf table"/>
    <af:table value="#{bindings.ViewObj1.collectionModel}" var="row">
    <af:column sortProperty="Deptno" sortable="false"
    headerText="#{bindings.ViewObj1.labels.Deptno}">
    <af:outputText value="#{row.Deptno}"/>
    </af:column>
    <af:column sortProperty="Dname" sortable="false"
    headerText="#{bindings.ViewObj1.labels.Dname}">
    <af:outputText value="#{row.Dname}"/>
    </af:column>
    </af:table>
    <af:objectSpacer width="10" height="50"/>
    <af:outputText value="Below is the custom table"/>
    </h:form>
    <customtag:customtable value="#{bindings.ViewObj1.collectionModel}"
    disabled="false"/>
    </afh:body>
    </afh:html>
    </f:view>
    CustomTable.java code:
    package customtag;
    import java.io.IOException;
    import javax.faces.application.Application;
    import javax.faces.component.UIComponentBase;
    import javax.faces.context.FacesContext;
    import javax.faces.el.ValueBinding;
    import oracle.adf.view.faces.component.core.data.CoreColumn;
    import oracle.adf.view.faces.component.core.data.CoreTable;
    import oracle.adf.view.faces.component.core.output.CoreOutputText;
    public class CustomTable extends UIComponentBase {
    public static final String COMPONENT_TYPE = "customtag.customtable";
    public static final String RENDERER_TYPE = null;
    private CoreTable table = new CoreTable();
    public CustomTable() {
    public void encodeChildren(FacesContext context) throws IOException {
    // Encode the top most component
    Application apps = context.getApplication();
    table.setVar("row");
    Object value = getAttributes().get("value");
    CoreColumn column = new CoreColumn();
    CoreOutputText cout = new CoreOutputText();
    if (value != null) {
    table.setValue(value);
    ValueBinding rowValueBinding =
    apps.createValueBinding("#{row.Deptno}");
    Object rowValue = resolveExpression("#{row.Deptno}");
    if (rowValue != null) {
    System.out.println("rowValue is reconized. " + rowValue);
    cout.setValue(rowValue);
    } else if (rowValueBinding.getValue(context) != null) {
    System.out.println("rowValueBinding is reconized." +
    rowValueBinding.getValue(context));
    cout.setValueBinding("Value", rowValueBinding);
    } else {
    System.out.println("row is not reconized.");
    cout.setValue("this is a hard coded row attribute value");
    column.getChildren().add(cout);
    table.getChildren().add(column);
    table.encodeAll(context);
    public static Object resolveExpression(String expression) {
    FacesContext ctx = FacesContext.getCurrentInstance();
    Application app = ctx.getApplication();
    ValueBinding bind = app.createValueBinding(expression);
    return bind.getValue(ctx);
    public boolean getRendersChildren() {
    return true;
    public String getFamily() {
    return COMPONENT_TYPE;
    }

    Hi,
    you don't mention a JDeveloper version. If you are not on a recent version, can you try one. If it reproduces, please provide steps required for a reproducible test case
    Frank

Maybe you are looking for

  • Using java to create a file?

    hi there I just have a question regarding the creation of a file using PrintWriter class.: FileOutputStream fileOutputStream = new FileOutputStream(outFileName); PrintWriter out = new PrintWriter(new OutputStreamWriter(fileOutputStream, encoding)); a

  • Debug Watch Panel in AS3 projects?

    Is it just me, or does it not make sense that only ActionScript projects <= 2.0 get a proper "Watch" panel in which to specify watched expressions during ActionScript debugging? Seems to me that it should have been a natural assumtion we'd get someth

  • Address Labels and Merge?

    Is there a way to produce address labels and do a Mail Merge from a database with pages? I have Filemaker 9, and would like to do a mail merge to customize letters. I know that I can make address labels from Filemaker, but I would like to know if I c

  • Passwords in preferences?

    Hello, My passwords don't show up in the preferences, I get user names and addresses but no passwords. FireFox does....Any help appricated

  • Change standby protection mode

    hello i have setup data guard using oracle 10g on windowx xp, when i change the protection mode to maximum availability it works fine but when i change to maximum protection the database shuts down .. i tried again also it shuts down i reverted to ma