Non-compliant HTML from ADF Faces 10.1.3.2

We have had a query about the HTML rendered from ADF components from a potential client. When a page generated from an ADF Faces app. is run through the W3C HTML validator, it returns a number of errors, suggesting that the HTML does not conform to the current HTML 4.01 standard, although this is the standard specified in the doctype for the page.
For example a test jspx page built with a simple ADF Faces PanelPage component only, generates numerous errors when run through the validator at http://validator.w3.org.
Does Oracle have an official position on this? Is this something we will have to live with unless we write our own renderer? Do Oracle propose to change the components to conform with the standard in the future?
Matthew

Matthew,
can you explain what your concrete concern is? I handled a similar question in the past where the claim was that non-standard HTML would make web pages look insecure. However, there was no proof for this statement, so I am wondering if it is the same argument.
So please let me know what exactly it is that makes your client worry? If you use the same validator and try www.yahoo.com or www.google.com, it will show errors as well. I am not sure there are many web page on this planet that pass the validation test wth no errors.
Back to your question though; There is no official statement Oracle has on HTML compliance in writing that you can pass on to your client.
We do look at the validness of the generated HTML for the components we write on a regular basis. We don't see or have reports of limitation of our generated HTML and perform regular browser certifiation tests to ensure that applications built with ADF Faces don't fail browser support.
If there is a serious issue with the genrated HTML code that prevents you or your client to run web applications built with ADF Faces, please let us know by filing a Service Request with customer support so we have a bug to trace and fix.
Frank

Similar Messages

  • Image icons missing from ADF faces selectManyShuttle?

    Hi all, I'm using <af:selectManyShuttle and it works great, but I noticed it looks a lot different from the examples on
    http://www.oracle.com/technology/products/jdev/101/howtos/adfskins/index.html
    (all I get is text, no cool images)
    Also the ADF faces example apps don't seem to display icons either. Have I missed something?
    There are files like images/oracle/smvall.gif inside adf-faces-impl-ea20-SNAPSHOT.jar but they don't appear to be used at all. Any help much appreciated.
    Regards, Murray

    I'm having a similar problem: some images show up with the selecManyShuttle, but others do not.
    Also, when I add a leadingHeader and/or a trailingHeader, the text is displayed twice. Once in the correct position, and once after each list.

  • Emailing page contents as HTML using ADF faces

    I have created a JSPx page contaning ADF visualizations like tables, DVT charts, gauges etc. My application needs to send the content of this rendered page as email attachment . My application will provide an email editor where user can write some text as message and it needs to attach the contents of page having tables, charts etc as attachment to this email. How this can be achieved?
    using showPrintablePageBehaviour, opne my page in another browser window and from there user can copy paste the source of ths page into file and can send it as an email attachment. But I want this manual step of copy paste should not be there. Directly the page contents should be saved in html file. can this be achieved through some APIs?
    I have read that emaillable pages can be created declaratively, but need some info on creating that through APIs.

    The link to http://www.oracle.com/technology/products/jdev/101/howtos/adfskins/adffaces-skin.war
    seems to work for me.
    In any case to change the skin you are using you change the adf-faces-config.xml file.
    To get it to change at runtime - just put a reference to a value in a backing bean instead of the fixed "oracle" and then change the value in the bean at runtime.

  • Send mail from adf faces

    Hi Everyone,
    I am new to ADF technology, i'm using J-Dev 11.1.1.5 , i need to send email using smtp when button is clicked . is there any sample example ! i tried below link but it did't worked for me
    [http://adfblogs.blogspot.in/2012/01/sending-e-mail-from-adf-application.html]
    Thanks

    Hi Timo , when i tried to run this i got a exception
    Error 500--Internal Server Error
    javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
    nested exception is:
         java.net.ConnectException: Connection refused: connect
         at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
         at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
         at javax.mail.Service.connect(Service.java:288)
         at javax.mail.Service.connect(Service.java:169)
         at view.EmailBean.sendMail(EmailBean.java:115)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:788)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:306)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.net.ConnectException: Connection refused: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
         at java.net.Socket.connect(Socket.java:529)
         at java.net.Socket.connect(Socket.java:478)
         at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
         at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
         at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)

  • PDF generation for Non English Characters from ADF

    Hi
    We are using below piece of code to generate pdf from ADF Managed bean. It works fine. However for non English Characters(eg. Japanese,Vietnamese,Arabic)  it puts
    I got few blogs
    https://blogs.oracle.com/BIDeveloper/entry/non-english_characters_appears
    However we are not using BI Publisher product . We are using its API's
    Can anyone tell where do we need to setup fonts within ADF or Weblogic or Server ?
    Input Parameters are
    a)xml Data
    b)InputStream  ie rtf Template
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.template.FOProcessor;
    import oracle.apps.xdo.template.RTFProcessor;
        public static byte[] genPdfRep(String pOutFileType,byte[] pXmlOut ,InputStream pTemplate)
            byte[] dataBytes = null;
            try {
                //Process RTF template to convert to XSL-FO format
                RTFProcessor rtfp = new RTFProcessor(pTemplate);
                ByteArrayOutputStream xslOutStream = new ByteArrayOutputStream();
                rtfp.setOutput(xslOutStream);
                rtfp.process();
                //Use XSL Template and Data from the VO to generate report and return the OutputStream of report
                ByteArrayInputStream xslInStream = new ByteArrayInputStream(xslOutStream.toByteArray());
                FOProcessor processor = new FOProcessor();
                ByteArrayInputStream dataStream = new ByteArrayInputStream((byte[])pXmlOut);  
                processor.setData(dataStream);
                processor.setTemplate(xslInStream);
                ByteArrayOutputStream pdfOutStream = new ByteArrayOutputStream();
                processor.setOutput(pdfOutStream);
                byte outFileTypeByte = FOProcessor.FORMAT_PDF;
                processor.setOutputFormat(outFileTypeByte); //FOProcessor.FORMAT_HTML
                processor.generate();
                dataBytes = pdfOutStream.toByteArray();
            } catch (XDOException e) {
                e.printStackTrace();
            return dataBytes;
    Appreciate your help.
    Thanks,
    Abhijit

    Fonts are defined in the template you use to generate the pdf. Your application add the data and both is processed yb the FOP processor. Now there are two possible causes of the '???' :
    1. the data you sent to the template contains the '???' already
    2. the template can't digest the data (the special characters) and puts '???' in the pdf.
    Before going on you have to find out which one is your problem. The 2nd is the problem you better ask this in a FOP forum as you have to solve it by changing the template.
    Timo

  • Externalize the Skin from ADF Faces project

    I have a requirement, where we don't want to bundle Skin(CSS, adf-faces-skins.xml, adf-faces-config.xml files) with the web project. Which would help us to add new skin or change the existing skins.
    I see the CSS file name is different when it renders in the final HTML page. If my file name is 'sni.css' and it is kept in folder 'Web Content/css' but in the output html('/adf/styles/cache/sni-desktop-10_1_3_3_0-en-ie-6-windows-s.css'). How does the name changes here?
    We do this in our old framework by putting CSS files in Web Server. Can we do similiar thing in ADF Faces to externalize the styles? Overriding Faces Listeners or by any other way?
    Similiarly want to externalize images, adf-faces-skins.xml and adf-faces-config.xml also.
    Thanks

    Hi,
    We created a external skin project. WebSkin.war. In this project we put every thing (images, ccs, etc).
    In the others Web projects, into our jsp files we added this line on the header.
    <link rel="stylesheet" type="text/css" media="screen" href="/WebSkin/common/skins/<%=styleBean.getStyleName()%>/screen.css" />
    And (of course) getStyleName give us the current Skin Name (blue, purple, etc)
    But (nothing is perfect).. we are using JBOSS as application server, we didn't test that solution on other platform.
    I hope is not to late ...
    Regards.
    Message was edited by:
    ppasquel

  • Warning msgs from ADF Faces project

    Hi
    When I start some ADF Faces app. I got lots of warning msgs like:
    WARNING: [ComponentRule]{faces-config/component} Merge(oracle.adf.CorePanelBox)
    Mar 1, 2005 4:31:30 PM com.sun.faces.config.rules.ComponentRule end
    WARNING: [ComponentRule]{faces-config/component} Merge(oracle.adf.CorePanelSideBar)
    Mar 1, 2005 4:31:30 PM com.sun.faces.config.rules.ComponentRule end
    Does anyone know how to solve them?
    Thanks

    I have the same problem. I just ignore them, but it is an annoyance since there are a lot of them, and they fill my OC4J server log. Seems it happens every time the server reinitializes.

  • Howto create non-modal dialogs using ADF Faces

    I would like to use Dialogs in a non-modal manner.
    Trying to use
    <af:commandLink useWindow="true" action="dialog:infoPopup" blocking="false">
    <af:setActionListener from="#{row.xyId}" to="#{infoPopup.currentId}" />
    </af:commandLink>
    doesn't work as expected. I'll get the dialog, but I can't use the page behind it.
    Alternatively I tried to show the page using Javascript opening the pageInfo.faces, but here I have an order problem. The onClick event is processed first and the #{infoPopup.currentId} will be populated after rendering the JSF page. But I want to show infos depending on the xyId.
    Is there any other way to open windows/dialogs?
    Thanks in advance
    Stephan

    The "blocking" attribute basically just blocks you from clicking the commandLink or commandButton twice (or more) before the first click has been processed by the server and a response has been received.
    It is a very good util for avoiding those unwanted IndexOutOfBoundsExcepions when a user hits many buttons thus sending multiple requests to the server.
    By the way, I'd like to see the answer to the non-modal dialog window, because we have a need for them, too.
    Kind regards,
    dj

  • Initiate BPEL from ADF Faces

    Hello All,
    I created some webservice Data controls by using BPEL process WSDL, and then made input pages for these Data controls.
    But all of these Data controls have some extra required information as below need to be inputed.
    And I can input any trash data but I can't leave them as blank.
    ReplyTo_Address
    ReplyTo_PortType
    ReplyTo_ServiceName_PortName
    ReplyTo_ServiceName
    MessageID
    Anyone have an idea on how I should hanlde these extra input?
    Regards,
    Kerr

    Hi Marc,
    The BPEL process is an async process.
    The web service should be an async one too.
    Regards,
    Kerr

  • Customizing ADF Faces Look & Feel. Some questions & suggestions

    Hi everybody,
    We are developing an application with ADF Faces using JHeadStart. For the moment, I am studying the way we must modify the JHS templates to adapt each element to our needs.
    As it's told in the JHeadStart Developer's Guide, there are two ways to customize Look & Feel:
    1) Modifying the templates
    2) ADF Skinning
    I'm using both methods, but I feel that thay are not good enough to adapt the L&F to our customer requirements.
    My main problem now is in the ADF Table customization. I want to use ADF Table because it offers us a lot of features that are not in the jsf table (the selection column, the table overflow...), and is very usefull combined with the generated JHS code. But at the same time, it doesn't offer a lot of functionality in the look & feel customization. Using JSF Table, I can set the CSS style for headers, rows, columns, the table, I can set the border, cellspacing and cellpadding. But I cannot do
    any of these thing (or at least, I don't see how) with the ADF Table.
    Our customer (a government) have a strict definition of the look & feel of his web applications. They want we use their CSS styles definition file, so they can modify at once the Look & Feel of all their applications. Modifying the L&F through skinning generate other styles, not use the style classes in our CSS (o so I think).
    So, the questions:
    1) There is any way to set the suitable styles for the ADF Table components (headers, rows)?
    1bis) Why, If I have defined a new skin, with only just a few selectors, some styles from oracle are applied? Maybe because the render kit in the 'adf-skins.xml' is "oracle.adf.desktop"? If it is true, how can I make that they are not used, I must implement a render kit or can I use another existent?
    2) Can I decide how looks the select column (for example a button instead of a radio button)? Can I decide where does it goes (right or left)?
    3) There is any way to hidden the text Show/Hide of the showDetail in the table (the tableOverflow), as I can change the icons through skinning? If it is not possible, How can I overwrite the text. I need it in Catalan, but it is shown in English for this locale. Where is the message bundle I should overwrite?
    4) There is any way to force a tree to start fully expanded?
    5) There is anywhere documentation about the javascript functions used in ADF and their meaning? I think for example in the previous question. If I knew which javascript function I should call for expand the tree and its parameters, I could put the call in the onload event of the body.
    6) I use a selectInputDate. I have skinned the launch-icon, and I would like to do a similar thing in the chooseDate that is opened in a new window. But It seems not to be affected for my skinning directives (if I put a chooseDate in the same page, its L&F follow the skinning rules I've defined). I don't know if this dialog is an ADF feature or a JHS generated feature.
    7) There is any way to keep unmodified the id I've choosed for a component? (I mean, an inputText with id="hello" in a form with id="form" will have in the HTML an id = "form:hello", but I would like it to be simply 'hello')
    8) How can I control the position and the size of a dialog (the chooseDate dialog or a dialog I've created)? In the cases I've been testing, it seems the dialog is forced to resize depending on the content. I would like to know if I can establish a fixed size.
    9) There is any way to open a non-modal dialog? (which I could keep open at the same time that another instance of the same dialog)
    For the moment, I think I have no more question. But give me time.... :-D
    The suggestion I've to do is basically more flexible components for a better customization (for example, the styles settings I've talked about previously). ADF components are nice and powerful, but I think they should generate pages that follow the tendencies in the web development: tableless pages (I cannot understand the utility of the objectSpacer existing the margins), use of CSS for layout...
    Any answer, comment or suggestion will be welcome.
    Carles.
    Message was edited by:
    cbios

    I have been able to make the UIX 2.2 and ADF Faces LAF look near identical by updating the oracle-desktop.xss file within UIX 2.2 as follows
    <!-- Change the accent color ramp to tan -->
    <style name="DarkAccentBackground">
    <!--<property name="background-color">#cccc99</property>-->
    <property name="background-color">#d2d8b0</property>
    </style>
    There are still some differences:
    1) A black line appears on the ADF Faces on the 'menu1' facet selected tab below the text. DON'T KNOW HOW TO REMOVE THIS FROM ADF Faces or add it to UIX 2.2!!!
    2) In UIX 2.2 a bulleted list uses the HTML <li> tag. In ADF Faces it doesn't use the HTML <li> tag rather it constructs the bulleted list using lower level HTML tags with the 'bullet' becoming an image, in my browser this means the disc is smaller in Faces. The motivation for this change I think is explained via this post. Since I have no control over how this specific HTML tag is rendered it forces me to replace the /adf/images/bltdscn.gif file in adf-faces-impl.jar with a larger disc!
    http://www.thescripts.com/forum/thread96839.html
    May update this again if there are other things I notice.

  • ADF FACES:Creating custom component on top of adf

    My UI requiement is sth like
    Name : xxxxxxx
    Description : xxxxxxxxx
    Search : cccccc
    This UI i want to create as a custom tag and use it across our project.
    We need to include this utiltiy in JSP Tag libraries so that it appears in
    the compoent palette.
    WE have done the same thing using pure JSF and it is working fine.
    But we need to leverage ADF classes.. so that we can get the same look and
    feel and we simply set our proprties and renering part will come from ADF faces.
    In my main component class I have written the code sth like
    public void encodeChildren(FacesContext context)throws IOException {
    RenderKit rk = context.getRenderKit();
    CoreInputText buton = new CoreInputText();
    buton.setValue("my text");
    buton.setRendered(true);
    rk.getRenderer("myFamily", getRendererType()).encodeBegin(context, buton);
    After doing this I run my test.jsp and no output is produced.
    So can you let us know the correct way for doing this.
    This is a high priority requirement for US.if anybody can pls help asap..
    Thanks
    Ravi

    Hi All,
    I was able to get this code to run and wanted to share with you the corrections
    ================== HelloUIComp.java ==============
    package view.components.msg;
    import java.io.IOException;
    import javax.faces.application.Application;
    import javax.faces.component.UIComponentBase;
    import javax.faces.component.UIViewRoot;
    import javax.faces.context.FacesContext;
    import oracle.adf.view.faces.component.core.CoreForm;
    import oracle.adf.view.faces.component.core.input.CoreInputText;
    import oracle.adf.view.faces.component.core.layout.CorePanelForm;
    import oracle.adf.view.faces.component.core.nav.CoreCommandButton;
    import oracle.adf.view.faces.component.core.output.CoreMessage;
    import oracle.adf.view.faces.component.core.output.CoreMessages;
    public class HelloUIComp extends UIComponentBase {
    private CoreCommandButton button;
    private CoreInputText intext;
    private CoreInputText description;
    private CorePanelForm panel;
    private CoreForm form;
    public static final String COMPONENT_TYPE = "com.mycompany..hello";
    // This will be a self-rendering component
    public static final String RENDERER_TYPE = null;
    public HelloUIComp() {
    FacesContext context = FacesContext.getCurrentInstance();
    Application apps = context.getApplication();
    UIViewRoot root = context.getViewRoot();
    panel = (CorePanelForm)apps.createComponent(CorePanelForm.COMPONENT_TYPE);
    panel.setId("errPanel");
    panel.setLabelWidth("35%");
    panel.setRows(7);
    getChildren().add(panel);
    form = (CoreForm)apps.createComponent(CoreForm.COMPONENT_TYPE);
    form.setId("errForm");
    panel.getChildren().add(form);
    intext = (CoreInputText)apps.createComponent(CoreInputText.COMPONENT_TYPE);
    intext.setId("name");
    intext.setLabel("Name");
    intext.setRendered(true);
    intext.setRequired(true);
    form.getChildren().add(intext);
    description = (CoreInputText)apps.createComponent(CoreInputText.COMPONENT_TYPE);
    description.setId("description");
    description.setLabel("description");
    description.setRendered(true);
    description.setRequired(true);
    description.setRows(3);
    form.getChildren().add(1, description);
    public boolean getRendersChildren() {
    return true;
    public void encodeChildren(FacesContext context) throws IOException {
    // Encode the top most component
    panel.encodeAll(context);
    /* The below code can replace the encodeAll call
    panel.encodeBegin(context);
    if(panel.getRendersChildren()){
    panel.encodeChildren(context);
    panel.encodeEnd(context);
    public String getFamily() {
    return COMPONENT_TYPE;
    ==========================================================
    Notice, you don't need any setters/getters for this object.
    You will need the following tag file:
    ============= HelloUICompTag.java ========
    package view.components.msg;
    import javax.faces.webapp.UIComponentTag;
    public class HelloUICompTag extends UIComponentTag{
    public HelloUICompTag() {
    public String getComponentType() {
    return HelloUIComp.COMPONENT_TYPE;
    public String getRendererType() {
    // Self rendering components return null
    return HelloUIComp.RENDERER_TYPE; // should be null
    =========================================
    You will need to update your faces.config file with the following entry. Notice you do not need an entry under render kit.
    <component>
    <component-type>com.mycompany.hello</component-type>
    <component-class>view.components.msg.HelloUIComp</component-class>
    </component>
    Finally, you will need to create (or append to) a tag library
    ================== myTest.tld ====================
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <taglib xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee">
    <display-name>tests</display-name>
    <tlib-version>1.0</tlib-version>
    <short-name>tests</short-name>
    <uri>http://mycompany.mil/tests</uri>
    <tag>
    <name>hello</name>
    <tag-class>view.components.msg.HelloUICompTag</tag-class>
    <body-content>JSP</body-content>
    </tag>
    </taglib>
    =============================================
    Notice you don't need a custom renderer class. The component is self-redering.
    To use the component, create a myTest.jspx file like the following:
    ============ myTest.jspx ===============
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root 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:afh="http://xmlns.oracle.com/adf/faces/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces"
    xmlns:mebs="http://mycompany.com/tests">
    <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
    doctype-system="http://www.w3.org/TR/html4/loose.dtd"
    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
    <jsp:directive.page contentType="text/html;charset=windows-1252"/>
    <f:view>
    <afh:html>
    <afh:head title="Testing Components">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    </afh:head>
    <afh:body>
    <h:form>
    <af:panelPage title="My Component Test">
    <f:facet name="menu1"/>
    <f:facet name="menuGlobal"/>
    <f:facet name="branding"/>
    <f:facet name="brandingApp"/>
    <f:facet name="appCopyright"/>
    <f:facet name="appPrivacy"/>
    <f:facet name="appAbout"/>
    <!--
    Well, this is a bad place to put our component
    This will render a <af:form> within the above <h:form>
    Should be placed outside the h:form or edit the component and remove the form
    -->
    <mebs:hello/>
    </af:panelPage>
    </h:form>
    </afh:body>
    </afh:html>
    </f:view>
    </jsp:root>
    ===================================
    Hope this helps you.

  • ADF Faces: is mixing JSF RI and ADF Faces tags supported?

    Hi,
    I'm looking at ADF Faces as a future possibility for our application that is currently based on JSF RI.
    When looking at the ADF Faces demo it strikes me that all pages are almost completely built up from ADF Faces tags.
    For instance
    af:form
    af:commandButton
    af:inputText
    are used instead of the equivalent core jsf tags f:form, f:commandButton and f:inputText
    I'm wondering if this is mandatory if we would like to use some ADF Faces components mixed within our existing application.
    In other words: are ADF Faces tags supported in the environment of conventional JSF tags? And mixing ADF Faces JSF components with JSF components by other vendors?
    Another thing that strikes me is that pages are constructed using ADF Faces tags for any and all markup content.
    I guess this is meant to support several different clients (normal browser applications, mobile clients, voice activation over telephone) using different renderers.
    In my experience abstracting markup this way inherently means loss of control over the exact markup that is sent to the client. This is not acceptable for all projects and customers.
    Is embedding ADF Faces tags within template HTML, within f:verbatim tags or not, supported?
    Regards,
    Joost de Vries

    You absolutely can mix JSF RI and ADF Faces tags. This is very much supported! You can swap in <h:form> and <h:commandButton> and <h:inputText>. Our versions support some features that the JSF tags do not, as described in our release notes.
    Your point about using tags to produce all markup is a very cogent one. For some projects, absolute control over HTML will be a necessary requirement, so we do support that style of development. But we believe strongly that the future does not lie in constant handcoding of HTML, but instead in building more powerful, flexible, and reusable components and assembling those into pages. This was one of the themes of a talk I gave with two coworkers at this past JavaOne.
    -- Adam Winer (JSF EG member and ADF Faces lead)

  • ADF Faces: how to extend one of the faces components

    Hi all,
    I am thinking of extending the built-in ADF Faces CommandMenuItem component (to work around a bug that was filed). The only thing that I think I need to do is to add an additional property - I don't believe that I will need to add any additional behavior to the tag.
    Can anyone comment on (high level) the steps that I would need to go through? I'd like to
    a). Add the property
    b). Make sure the property shows up in the JDev property inspector
    c). Inherit everything else from CoreCommandMenuItem.
    I've looked at the source code (from the Apache guys), and this doesn't look too hard. I don't want to re-compile the whole Apache drop, just create a new component as described above, but I've no idea really where to start.
    Any insights appreciated,
    John

    Hello John,
    I don't know how possible it will be. It depend on what kind of property you want to add. Here are the general indications to acheive this.
    1) Make a custom component class extending CommandMenuItem class and add an additional property.
    2) Extends the commandMenuItem tag clas with your own
    3) override the method public void setProperties(javax.faces.component.UIComponent component)
    you just have to call the parent first which is the specification behavior anyway, so:
    public void setProperties(UIComponent component) {
    super.setProperties(component);
    // Cast the component to your component class and set your additional property on it
    4) The hard part... This is where I'm unsure of the procedure, but I would say that you'll have to extends ADF Faces's renderer for commandMenuItem and find a way to push the property in it if it has to be sent to the client. This seem really annoying to do. One way to do it would be to wrap the ResponseWriter so you can intercept what the parent renderer encodes and insert your property in the right spot. That strategy requires an additional (probably intern) class extending ResponseWriter. Then you would have to do something like this:
    FacesContext context = FacesContext.getCurrentInstance();
    ResponseWriter initial = context.getResponseWriter();
    context.setResponseWriter(new MyWrapperWriter(initial));
    super.encodeBegin(context, component);
    context.setResponseWriter(initial);
    The Wrapper would have to override all methods and delegate the call to the wrapped instance. When calling startElement(String) you would add a call to writeAttribute for your own property.
    5) For showing the property in the property editor panel you must fill a faces-config.xml file with the <component> tag. Since that one does not allow inheritance (which is really annoying imho) you'll have to copy most of the properties from adf faces' faces-config.xml file.
    6) Fill the tld for your new tag
    7) JAR the whole thing
    8) Edit your tag library from Tool in the menu I think (not on a computer with JDev installed atm so cannot be sure). Add your library that you just created. If faces.config.xml and the .tld are well made JDev will figure prety much everything on its own. You will now have a new choice in the dropdown menu of the component palette for your custom library.
    I hope I was decently clear.
    Regards,
    Simon Lessard

  • Does Studio Creator support Oracle ADF Faces and other components?

    Hi everyone
    According to:
    http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/doc/faq.html
    "Although ADF Faces is "vanilla" JSF we have not been able to run with Java Studio Creator Build 04.06.2. We are working with Sun to resolve the issues in Java Studio Creator."
    Does anyone know if Oracle ADF faces now work with Studio Creator and if so which version.
    In addition I am also looking for JSF visualization components. In addition to advanced 3-D graphs (send as PNG to client) I am also looking for components to visualize the structure of a website. These all need to work with Studio Creator.

    Importing 3rd party libraries used to be complicated. The .complib stuff was added precisely to make it easy.
    It does make packaging slightly harder for third party -vendors-, since there's one extra step, but this makes everything easier for (the much larger number of) users of the third party components, since the packaging format specifies a bunch of stuff that we used to have to ask of users when trying to add the jar and associated metadata into the IDE.
    The complib stuff is documented, so if you're producing a 3rd party JSF library, or if you really want to use one that hasn't yet been packaged, you can do the steps yourself.
    See http://wiki.java.net/bin/view/People/EdwinGoei -- the first couple of links describes the process. Yes, we're working with third party vendors to get this done for their component sets, and yes, there's talk with other IDE vendors to standardize all this.
    -- Tor
    http://blogs.sun.com/tor

  • Calling oracle 6i reports from ADF

    Hi All,
    My requirment is to call oracle reports from ADF.
    Can some one help me in calling oracle 6i reports from ADF faces.
    Plz provide some link where I can info about this.
    Regards
    Srinivas.

    Hi,
    you can call the Reports Web URL from ADF. If you want o do this embedded then have a look at
    http://thepeninsulasedge.com/frank_nimphius/2007/09/11/adf-faces-showing-reports/
    Frank

Maybe you are looking for

  • How to get the WorkInstruction from a hook context

    Hi, i have a PRE_BATCH_START hook and i would like to get the work instruction for the operation that this hook is on. Is there an API to somehow read the content of the work instruction? Using ME 6.0.2.2.12 Thanks in advance, David

  • Root.sh fails for 11gR2 Grid Infrastructure installation on AIX 6.1

    Hello all, root.sh fails with the errors below. SR with Oracle opened. Will post the resolution when it is available. Any insights in the meantime? Thank you! System information: OS: AIX 6.1 Runcluvfy.sh reported no issue Permissions on the raw devic

  • Why is the Artboard background color white in June 2014 release?

    After opening Illustrator after the upgrade of the CC suite, the Artboard background is white like the artboard itself. So I can only see the borders of the Artboard when I am in Artboard edit mode. Is this a new feature? How can I reset the Artboard

  • Setup of PRE & PSE V12 fails repeatedly even after reboot

    I have a working installation of Lightromm 5.3 Photoshop Elements V11 Premiere Elements V11 on a Windows 7 SP1 PC. After purchasing a new licenes of PSE&PRE V12 succesfully downloaded and unpacked all files. but Setup process fails even after reboot

  • Check Point 620 Wired Appliance: Real World Throughput and Experiences

    I am considering a purchase of the Check Point 620 wired appliance.   If you have used the 620, I would like to request some help: 1. What real-world throughput have you seen with all blades active?  The internet speed at our site is 120 Mbps 2. What