JSP, JSF, and ADF

I've just started playing around with this and was looking for samples/tutorials to help. Of the tutorials/samples I've seen, they appear to fall short of explaining an end-end example and stick mostly to JSF and the backing bean - usually displaying static data within a JSP and navigation. I'm a bit confused on how to call custom methods in my business services (application modules) and in turn use the view objects to fetch data from my database and display the results within a JSP using the JSF components.
I realize the latest preview JDeveloper is without ADF but while I had time I was hoping to play around with ADF Faces to hit my development database. Guess I'm trying to make sense of how JSP, JSF, Business components, and my db connection all play together in order to set up a decent starting point for an app.

You could use Jdeveloper 10G and play around with ADF Faces, look at the demos, and the sources behind them.
There are a couple of papers on OTN like...
Working with ADF Faces in JDev 10g:
http://www.oracle.com/technology/products/jdev/howtos/10g/adfjsf/how-to-adf-faces-10gjdev.htm
Roadmap for ADF Faces:
http://www.oracle.com/technology/products/jdev/collateral/papers/9.0.5.0/adfuix_roadmap/adfuix_roadmap.html
And many more... as I could find upon search...
http://www.oracle.com/ultrasearch/wwws_otn/searchotn.jsp?p_Action=Search&p_Query=adf+faces
The visual editing support for 'The ADF Model access through ADF Faces bindings' is under development (hence no tutorials), and will be available in future release (could be post 10G release).
-Udupa

Similar Messages

  • [ANN] JSF and ADF Faces Q&A online session today

    Join us for an online discussion and ask your questions about JSF and ADF Faces. Today (Thu) at 10:00am PST (California time).
    http://www.oracle.com/technology/tech/java/newsletter/seminars.html

    Great here are a few IF there is time:
    1. How round trips will JSF and ADF Faces take upon initial page load? In other words, does the initial page load come with data already populated? This makes a difference for those of us who have data heavy pages with lots of lag. Currently with ADF - UIX it seems as though the page is loaded and then round trips are taken to populate the data in the page.
    2. Is a JSF and ADF faces project in future versions of JDeveloper more easily/efficiently source controlled than current ADF/UIX projects?
    3. What is the extent of the involvement of the struts framework in JSF and ADF Faces?
    Thanks very much Shay.
    -brian

  • How to customize events, execute stored procedures using JSF and ADF BC

    As a java beginner, I started with developing simple web application using JSF and ADF business component through visual and declarative approach. I need to know how to customize events, execute stored procedures, invoke functions on triggering events associated with rich controls. for eg. how to write customized functions on button click or checkbox click events to achieve business requirement and can be modified whenever required.
    Edited by: 792068 on Aug 31, 2010 9:40 PM

    Which business layer is prefered to create interactive data model: 1. ADF business components or 2. Enterprise JavaBeans using Java persistance API (JPA) or 3. Toplink 4. Portlets
    which minimizes writing low level codes and how much OOPS knowledge is required for creating above business layer binding data to viewcontroller layer?

  • "Developing Smart Web UIs with Ajax, JSF, and ADF Faces" example

    I'm trying to get this example (http://www.oracle.com/technology/pub/articles/cioroianu_jsfajax.html) to work within JDeveloper, during compilation I'm getting an error:
    C:\jptest\view\public_html\msgIndexResp.jsp
    Error(5): tags:property is not a registered tag in that namespace.
    C:\jptest\view\public_html\helloNameResp.jsp
    Error(5): tags:property is not a registered tag in that namespace.
    C:\view\public_html\ajaxCtrl.jsp
    Error(6): tags:response is not a registered tag in that namespace.
    Has anyone attempted at this example and ran into the same problem?
    Thanks
    -Wes

    There is no such document for (1) because we are in the process of delivering design time support for ADF BC integration with ADF Faces, as you mentioned.
    Therefore, you could either continue with ADF UIX, ADFm, ADF BC for the time being, or else try out ADF Faces with session scope Managed Beans. In either case, you'll want to convert this later on, when JDev 10.1.3 completes its support for ADF Faces / ADF BC drag-and-drop integration.
    Kind Regards.

  • JDeveloper, JSF and SelectManyMenu

    using Oracle JDeveloper 10.1.3...
    wizard creates the following in jsp file......
    <h:selectManyMenu
    binding="#backing_chemDataEntry.selectManyMenu1}"
    id="selectManyMenu1">
    <f:selectItems value="#{compatibilityGroup.compatGrps}"
    binding="#{backing_chemDataEntry.selectItems2}"
    id="selectItems2"/>
    </h:selectManyMenu>
    page is rendered, corrrect list of items is displayed,
    but the menu will not drop down and only shows one
    item at a time.........
    we want to display 3 items and have the rest in a drop
    down menu........
    if <h:selectManyMenu> is changed to <h:selectOneMenu>
    then there is a drop down but again we are unable to
    change size......
    can anyone explain this behavior/problem and/or
    provide a workaround or alternate method or
    suggestions?
    also why can't size be specified for a <h:selectManyListbox>?
    we only want to display 3 even if there's 12 and provide
    scrolling for the rest........
    hoping for an answer,
    jeanne

    unfortunately, both the plain jsf and adf jsf articles do not fix or address the problem that I am asking about.......
    all of the selectOne components render as expected,
    the problem is only with selectManyMenu.....
    within jDeveloper, selectManyMenu does not give a drop down
    and generates an error when size is specified....
    resolving the problem with the drop down is more important.......

  • How include jsp file in adf jsf

    hi!
    I would like to include my jsp file in adf jsf but when i run my jsf page i have this error
    "javax.faces.event.AbortProcessingException: javax.faces.view.facelets.FaceletException: Error Parsing /Scanning.jsp: Error Traced[line: 1] <Line 1, Column 2>: XML-20201: (Erreur grave) Attendu : name et non %."
    My jsp page is Scanning.jsp and in my jsf page i include my jsp page like this
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <af:document title="untitled1.jsf" id="d1">
    <af:form id="f1">
    <af:panelTabbed id="pt1">
    <af:showDetailItem text="showDetailItem 1" id="sdi1"/>
    <af:showDetailItem text="showDetailItem 2" id="sdi2">
    <af:declarativeComponent viewId="Scanning.jsp" id="dc1" >
    </af:declarativeComponent>
    </af:showDetailItem>
    </af:panelTabbed>
    </af:form>
    </af:document>
    </f:view>
    What's wrong ???
    Help me please

    I'm looking for this characters but nothing
    could try to help me again
    this my
    jsp code
    <%@ page pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Scanner vos ch&egrave;ques</title>
    <link media="screen" href="css/sbullet.css" type="text/css" rel="stylesheet"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <!--script type="text/javascript">
    // Declaration globale
    var Nbrimg = 0;
    var ImgRecto = 0;
    var ImgVerso = 0;
    var ImgTotal = 0;
    <script type="text/javascript" event="TransportNewState(newState,previousState)" for="Ranger">
    // Transport new state, fired every time the State changes on the control
    // input params , are the new state and the previous state
    //alert(newState);
    var RangerTransportStates = {
    TransportUnknownState : - 1, TransportShutDown : 0, TransportStartingUp : 1, TransportChangeOptions : 2, TransportEnablingOptions : 3, TransportReadyToFeed : 4, TransportFeeding : 5, TransportExceptionInProgress : 6, TransportShuttingDown : 7
    ok = false;
    if (newState == RangerTransportStates.TransportShutDown) {
    document.getElementById('StartRanger').disabled = false;
    document.getElementById('EnableRanger').disabled = true;
    document.getElementById('StopFeeding').disabled = true;
    document.getElementById('StartFeeding').disabled = true;
    document.getElementById('ChangeOptions').disabled = true;
    document.getElementById('Shutdown').disabled = true;
    document.getElementById('UserInstructions').innerHTML = "Appuyer sur Demarrer pour initiliser le scanner"
    Nbrimg = 0;
    ImgVerso = 0;
    ImgRecto = 0;
    ImgTotal = 0;
    if (newState == RangerTransportStates.TransportChangeOptions) {
    document.getElementById('StartRanger').disabled = true;
    document.getElementById('StartFeeding').disabled = true;
    document.getElementById('EnableRanger').disabled = false;
    document.getElementById('Shutdown').disabled = false;
    document.getElementById('UserInstructions').innerHTML = "<b/>Demarrage <br/> Appuyer sur Activer pour preparer le scanning "
    ok = false;
    if (newState == RangerTransportStates.TransportReadyToFeed) {
    document.getElementById('EnableRanger').disabled = true;
    document.getElementById('StopFeeding').disabled = true;
    document.getElementById('StartFeeding').disabled = false;
    document.getElementById('ChangeOptions').disabled = false;
    document.getElementById('Shutdown').disabled = false;
    document.getElementById('UserInstructions').innerHTML = "<b/>Pret a scanner<br/> Appuyer sur Scanner pour lancer le scanning"
    ok = true;
    if (newState == RangerTransportStates.TransportFeeding) {
    document.getElementById('StartFeeding').disabled = true;
    document.getElementById('ChangeOptions').disabled = true;
    document.getElementById('Shutdown').disabled = true;
    document.getElementById('StopFeeding').disabled = false;
    document.getElementById('UserInstructions').innerHTML = "<b/>Scanning... <br/> Appuyer sur Arret scanning pour stopper le scanning";
    //getstatus();
    document.getElementById('Status').innerHTML = 'Etat: ' + Ranger.GetTransportStateString();
    </script>
    <script type="text/javascript" event="TransportChangeOptionsState(previousState)" for="Ranger">
    //Fired when Ranger reaches the change option state, input params are previous state
    //getstatus();
    document.getElementById('Status').innerHTML = 'Etat: ' + Ranger.GetTransportStateString();
    </script>
    <script type="text/javascript" event="TransportReadyToFeedState(previousState)" for="Ranger">
    i = 0;
    struchtml = "";
    htmlStrucArray = new Array();
    //Fired when ranger is ready to feed the next item
    document.getElementById('Status').innerHTML = 'Etat: ' + Ranger.GetTransportStateString();
    //getstatus();
    </script>
    <script type="text/javascript" event="TransportFeedingStopped(reason,itemsFed,itemsrequested)" for="Ranger">
    //Fired when feeding has stopped
    document.getElementById('Status').innerHTML = 'Etat: ' + Ranger.GetTransportStateString();
    //getstatus();
    </script>
    <script type="text/javascript" event="TransportItemInPocket(itemID)" for="Ranger">
    //Fired when the item has been fed into the pocket
    var RangerSides = {
    TransportFront : 0, TransportRear : 1
    var RangerImageColorTypes = {
    ImageColorTypeBitonal : 0, ImageColorTypeGrayscale : 1, ImageColorTypeColor : 2
    //alert(Ranger.GetGenericOptionFileName());
    Ranger.SetGenericOption("OptionalDevice", "NeedFrontImage1", true);
    Ranger.SetGenericOption("OptionalDevice", "NeedRearImage1", true);
    // Date du jour
    var datedujour = new Date();
         var day = datedujour.getDate();
         var month = datedujour.getMonth()+1;
    if(month < 10){month = "0"+month};
         var fullYear = datedujour.getYear();
    var Repertoire = day+"-"+month+"-"+ fullYear;
    var cmc7 = Ranger.GetMicrText(1);
    var codeChq = cmc7.substring(1, 8);
    var codeBq = cmc7.substring(10, 22);
    var codeRib = cmc7.substring(24, 36);
    var cmc7_affiche = codeChq + ' ' + codeBq + ' ' + codeRib;
    cmc7 = codeChq + '_' + codeBq + '_' + codeRib;
    document.getElementById('CMC7').innerHTML = 'CMC7= ' + cmc7_affiche;
    // alert(cmc7);
    cmc7R = cmc7 + "_R.jpg";
    // alert(Ranger.GetImageAddress(RangerSides.TransportFront, RangerImageColorTypes.ImageColorTypeGrayscale))
    temp = Ranger.SaveImageToFile(RangerSides.TransportFront, RangerImageColorTypes.ImageColorTypeGrayscale, "C:\\IT\\images\\" + cmc7R);
    temp = Ranger.SaveImageToFile(RangerSides.TransportFront, RangerImageColorTypes.ImageColorTypeGrayscale, "C:\\IT\\"+Repertoire+"\\" + cmc7R);
    cmc7V = cmc7 + "_V.jpg";
    temp = Ranger.SaveImageToFile(RangerSides.TransportRear, RangerImageColorTypes.ImageColorTypeGrayscale, "C:\\IT\\images\\" + cmc7V);
    temp = Ranger.SaveImageToFile(RangerSides.TransportRear, RangerImageColorTypes.ImageColorTypeGrayscale, "C:\\IT\\"+Repertoire+"\\" + cmc7V);
    document.getElementById("LIST").innerHTML += "<input type=\"hidden\" name=\"Img_chq\" value='" + cmc7R + "'/>" + cmc7_affiche + " (Recto)<br/>";
    document.getElementById("LIST").innerHTML += "<input type=\"hidden\" name=\"Img_chq\" value='" + cmc7V + "'/>" + cmc7_affiche + " (Verso)<br/>";
    document.getElementById('Status').innerHTML = 'Etat: ' + Ranger.GetTransportStateString();
    //getstatus();
    </script>
    <script type="text/javascript" event="TransportNewItem()" for="Ranger">
    // Fired when a new item has entered the track
    document.getElementById('Status').innerHTML = 'Etat: ' + Ranger.GetTransportStateString();
    //getstatus();
    </script>
    <script type="text/javascript" event="TransportShutDownState(currentState,previousState)" for="Ranger">
    //Fired when the Ranger control has been shutdown
    document.getElementById('Status').innerHTML = 'Etat: ' + Ranger.GetTransportStateString();
    //getstatus();
    </script>
    <script type="text/javascript" event="TransportSetItemOutput(itemID)" for="Ranger">
    //fired when the item is ready to have params set(pocketing decisions)
    document.getElementById('Status').innerHTML = 'Etat: ' + Ranger.GetTransportStateString();
    //getstatus();
    </script>
    <!-- End of Events ------------- -->
    </head>
    ........ html code
    Edited by: nesta on 12 août 2011 12:28

  • COMMIT problem in TopLink, Struts, JSP and ADF Databinding sample

    In the sample Developing a J2EE Application using TopLink, Struts, JSP and ADF Databinding,
    I followed all the steps to build a department browse page and a edit page.
    But when I get to Step number 23 in "Create a JSP to Edit Departments" I have a problem with the commit.
    Only after I make a change in the form and click the sumbit button, the commit and rollback buttons become active. And After I click the commit button the data gets commited to the database but the page inofmation changes to the very first department record, not the current one.
    How do I make those buttons active with out the extra click on the submit?
    After I click the commit button, how do I keep the current data on the screen?
    Thanks for you help.

    Shay,
    Thanks for the reply.
    For #1, I was able to do the following and get away with not having to press submit first. I just removed the bindings for disable. I hope that does not cause any problems?
    <input type="submit" name="event_Commit" value="Commit" />
    <input type="submit" name="event_Rollback" value="Rollback" />
    For #2, How I add an action on an HTML button? My UIModel.xml for the edit department page currently has two actions on it. Commit and RollBack. Is it linked through the "name" attribute of the input tag?

  • How does *.jsf extension map to *.jsp extension and where it is mapped

    Hi ,
    How does *.jsf extension map to *.jsp extension and where it is mapped ?
    Thanks

    How does *.jsf extension map to *.jsp extension and where it is mapped ?It is mapped in the web.xml.
    If you add the following in your web.xml:
    <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
    </context-param>
    The *.jsf will be mapped to the file with the same name, but xhtml as extention.
    if you the javax.faces.DEFAULT_SUFFIX is not defined in the web.xml, the default suffix comes from the one of the constant of javax.faces.application.ViewHandler . This constant names DEFAULT_SUFFIX and equals to ".jsp"
    Look at:
    http://java.sun.com/j2ee/javaserverfaces/1.1/docs/api/constant-values.html
    Sergey : http://jsfTutorials.net

  • 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)

  • JDev and ADF is difficult

    As a new user to ADF I am finding ADF and JDev a little discouraging and hard to use. I did a search on how to improve jdev's performance and found a lot of useful tips and tricks to use, but I pose the question. Shouldn't it just work out of the box? Coming from a web 2.0 background developing EE applications using Spring, JPA/Hibernate, Extjs, and netbeans I keep thinking to myself wow how in the world should I have known that changing this or that table attribute causes this or that to behave differently. For example I read a thread on multi-selecting table rows and in this article multiselect selectedRowKeys must be removed for multi select to perform correctly. Now I realize this is a simple example, but I find myself asking the same types of questions about dragging and dropping views into jdev or mapping bindings to pages so that I can gain access to data. I can relate to some angry posts by some about how difficult it is to develop anything useful in JDev and ADF because of a series of random problems (things like running OOM, or mapping bindings to a page which then for some reason map incorrectly or they think they are mapped to another page, etc...) Now I can already hear the first response... you are new to this world (yes) and you just need time. What if I told you I've been reading so much documentation over the past month that my eyes are bleeding. I've been through countless tutorials on how to use JDev and ADF. I've successfully created "Sample applications" generating useless tables of data. I've read several books on ADF and how to button click my way to creating EE applications, but I find the memorization of button clicking to be exhausting. I keep telling my boss I want to go back to writing code not dragging and dropping items on a page so that JDev can generate/modify .xml files for me.
    Now that said I know I am new to this world and I'm trying to find some common ground as my job requires me to develop EE applications in ADF, and I must learn this technology. So I ask all of you ADF and JDev advocates prove me wrong here and point me to the documentation that all of you use to navigate this world of yours.
    Thanks for your understand,
    Wraith (Newbie and found wanting)
    Edited by: wraith101 on Aug 14, 2012 3:38 PM
    Edited by: wraith101 on Aug 14, 2012 3:42 PM

    First off thank you for the response Shay!
    >
    Getting used to the way you build applications with JDev and ADF takes time, but think how much time did it took you to learn Spring, JPA, ExtJS etc to a level where you knew every little setting you needed to manually code in a spring XML file, or JPQL query syntax in your JPA or a javascript in ExtJS - My guess was that getting to a situation where you know everything in those technology wasn't exactly a problem less experience.
    >
    It is true it took some time to learn the technologies listed above. I guess If I were arguing for them I would say they were easier to use and learn due to most of them being open source and very popular because of this (i.e tons of examples, books, and documentation). Not sure if ADF is there yet?
    >
    I do like the fact that I can get from 0 to a fully functional page with a few clicks here and there, and then fine tune the results with some property settings in various places.
    And then if I need even further customization I can go to the code level when needed.
    >
    I agree it takes very little time to create something that is at least visually usable. I'm not familiar enough ADF yet to determine now hard it is to actually create a fully functioning application that does more than display data. For example, how would I create a visualization that updates every 10 seconds and allows users to post feedback in a similar manner to this forum?
    >
    The question of whether the declarative and visual development experience is a good thing or not is to some degree a matter of personal preferences.
    I wonder how long would it have taken someone to build something like this: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF112/ADF112.html
    with the stack you mentioned above. How many lines of code would they have needed to write, how many syntax errors while coding, and would the result be as functional so fast.
    >
    Agree I'm not hear to argue which type of development experience is better or worse. I would point out however that as a JDev/ADF developer in order to develop in the technology it seems you must do most of your development within the JDev environment or have extensive experience in JSF (i.e know which xml files to edit and why I believe there is a reason JSF and JSP are seldom used IMHO because they are difficult. I understand JDev/ADF try to solve this problem) were as in other technologies you as the developer can choose the IDE etc. Another thing I noticed while watching the link you listed was the developer went from place to place to place within jdev making changes. As a newbie it seems that in order to develop ADF in JDev you must just "know things" (ie. for example he pulled in a method in to the task flow so he could invoke some validation or prereq check. As a developer how am I to know how and where and why I can/must do these things? ADF seems to be process based in order to achieve some goal, but the JDev framework gives no clues as to what you should/need to do next. As well as that I needed to create that method within my Application Module in order to do this, which by the way was not mentioned within this video.).
    >
    We often see the reaction of "I don't get what all those XML files that JDev generate are doing" reaction from people who just start up with JDev and ADF.
    But we do try and explain how everything is working in places like the ADF Insider Advanced seminars:
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adfinsider-093342.html
    I think the fact that there is a lot of documentation for ADF, and a lot of blog entries, how-to's etc on the web is actually a good thing.
    I often find that if I run into an issue with ADF - a simple google search will show me how someone else solved that issue - and I like this too.
    >
    I guess my biggest gripe here would be yes there is tons of JDev/ADF documentation on OTN and other places, but none of it is complete, and I would also argue that the organization on OTN is half hazard, and makes learning ADF difficult as well. I find myself drilling down through layers and layers of links only to not be able to get back to were I came from to look at another topic/tutorial I was interested in(maybe we need a ADF train to be added to the documentation wikis).
    I would also argue when developing in other frameworks writing the xml is a big part to understanding how your application is tied together. For example, Spring servlet mapping or Spring injection mapping. When JDev does the mapping for me I feel that I know less and less about how my application works and I bet all the advanced ADF developers out there know quite a bit about how ADF xml mapping occurs and why, and I bet they make changes to these xml files manually quite often to get things to work as they desire?
    I want to be clear here I am not trying to flaming here, just trying to make a difference for other developers like myself who come along and need to learn ADF to complete some task. Looking at the OTN site I believe creating documentation for ADF development appears to be a top priority, but due to the complexity of the framework there is just so much and it seems to be everywhere. My suggestion would be to include why we are doing such and such with in jdev approach instead of a drag this here to do this approach. For example, I'd like to see a tutorial where it explains when you drag this item in to the content window it creates this xml bind which is the same as what you would normally do in JSF like this (if anyone knows of such a tutorial plz link).
    Again thanks for the reply, and I encourage others to give feedback and suggestions on how I too can become a better JDev/ADF developer.
    -Wraith

  • Struts and ADF in Portal

    Hello. We have had a TAR going for some time regarding an issue with Struts and ADF in Portal. This is the summary of the TAR:
    Customer followed the following document to create his Struts ADF application:
    Developing an End-to-End Web Application Using the Default Technology Scope
    at
    http://www.oracle.com/technology/obe/obe9051jdev/ADFtoJSP/defaultendtoend.htm
    After following the steps in the documentation, his application worked just fine.
    - After this he decided to portletize his application using the following document:
    OracleAS Portal Developer Kit (PDK)
    How to create a Struts Portlet ?
    at
    http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/pdkstruts/portletize-your-app.html
    When adding his portlet to a page, he basically received a portlet without any data, while the same worked fine outsi
    de of Portal.
    These are examples from the JSP file that do not show up in the portlet:
    <c:out value="${bindings.DepartmentsView1.labels['DepartmentId']}">
    <c:out value="${bindings.DepartmentId.label}"/>
    </c:out>
    We figured out that if we add the following filter mapping then it works fine:
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    This filter mapping would mean that it maps all URLs to the ADFBindingFilter. I suppose this would not be necessary and we're concerned about the implications this might cause and we believe that there should be a better solution for this.
    The final reply from support was that Portal is not yet supported with ADF technology. Does anyone have any comment on the above filter issue and other thoughts on using Struts and ADF in Portal? Another issue we found was that the PDK Struts tags do not support EL expressions. Have a look at this forum post:
    Re: Struts and nested tags in parameters. Possible?

    I am trying to create a portlet with JSF/ADF
    I Developed a Application with Oracle ADF UIX from: http://www.oracle.com/technology/obe/obe_as_1012/j2ee/develop/client/uix/lesson_uix.htm
    and then I followed this link: http://oracle001.cedecra.it/pdk/articles/pdkstruts/portletize-your-app.html
    to portletize the application
    and I am getting the below error message:
    500 Internal Server Error
    java.lang.SecurityException: sealing violation at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1153) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java) at com.evermind.util.OC4JSecureClassLoader.defineClassEntry(OC4JSecureClassLoader.java:172) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1179) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java) at com.evermind.util.OC4JSecureClassLoader.defineClassEntry(OC4JSecureClassLoader.java:172) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1179) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:1655) at java.lang.Class.getMethod0(Class.java:1901) at java.lang.Class.getMethod(Class.java:984) at oracle.portal.utils.xml.v2.DefaultNodeHandler.findMethod(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.setCustomValue(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.handleSimpleElement(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.processNode(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.processNode(Unknown Source) at oracle.portal.provider.v2.http.DefaultProviderLoader.getProviderDefinition(Unknown Source) at oracle.portal.provider.v2.http.DefaultProviderLoader.validate(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.validate(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.showTestPage(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.handleHttp(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java) at oracle.webdb.provider.v2.adapter.SOAPServlet.doHTTPCall(Unknown Source) at oracle.webdb.provider.v2.adapter.SOAPServlet.service(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65) at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:669) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:340) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)
    [b]provider.xml
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <?providerDefinition version="3.1"?>
    <provider class="oracle.portal.provider.v2.DefaultProviderDefinition">
    <session>true</session>
    <passAllUrlParams>true</passAllUrlParams>
    <preferenceStore class="oracle.portal.provider.v2.preference.FilePreferenceStore">
    <name>prefStore1</name>
    <useHashing>true</useHashing>
    </preferenceStore>
    <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
    <id>1</id>
    <name>MyTest2Portlet</name>
    <title>My Test2 Portlet</title>
    <description>My Test2 Portlet Description</description>
    <timeout>40</timeout>
    <showEditToPublic>false</showEditToPublic>
    <hasAbout>false</hasAbout>
    <showEdit>true</showEdit>
    <hasHelp>false</hasHelp>
    <showEditDefault>false</showEditDefault>
    <showDetails>false</showDetails>
    <renderer class="oracle.portal.provider.v2.render.RenderManager">
    <renderContainer>true</renderContainer>
    <renderCustomize>true</renderCustomize>
    <autoRedirect>true</autoRedirect>
    <contentType>text/html</contentType>
    <showPage class="oracle.portal.provider.v2.render.http.StrutsRenderer">
    <defaultAction>/portal/browseDeptEmp.do</defaultAction>
    </showPage>
    <editPage>/htdocs/mytest2portlet/MyTest2PortletEditPage.jsp</editPage>
    </renderer>
    <personalizationManager class="oracle.portal.provider.v2.personalize.PrefStorePersonalizationManager">
    <dataClass>oracle.portal.provider.v2.personalize.NameValuePersonalizationObject</dataClass>
    </personalizationManager>
    </portlet>
    </provider>
    struts_config.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
    <form-beans>
    <form-bean name="DataForm" type="oracle.adf.controller.struts.forms.BindingContainerActionForm"/>
    </form-beans>
    <action-mappings>
    <action path="/portal/browseDeptEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/browseDeptEmp.uix">
    <set-property property="modelReference" value="browseDeptEmpUIModel"/>
    <forward name="formEmpLink" path="/portal/formEmp.do"/>
    <forward name="createEmpLink" path="/portal/createEmpAction.do"/>
    <forward name="searchEmpLink" path="/portal/searchEmp.do"/>
    </action>
    <action path="/portal/formEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/formEmp.uix">
    <set-property property="modelReference" value="formEmpUIModel"/>
    </action>
    <action path="/portal/createEmpAction" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataAction" name="DataForm">
    <set-property property="modelReference" value="formEmpUIModel"/>
    <set-property property="methodName" value="formEmpUIModel.Create"/>
    <set-property property="resultLocation" value="${requestScope.methodResult}"/>
    <set-property property="numParams" value="0"/>
    <forward name="success" path="/portal/formEmp.do"/>
    </action>
    <action path="/portal/searchEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/searchEmp.uix">
    <set-property property="modelReference" value="searchEmpUIModel"/>
    </action>
    </action-mappings>
    <message-resources parameter="view.ApplicationResources"/>
    </struts-config>
    web.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <description>Empty web.xml file for Web Application</description>
    <context-param>
    <param-name>CpxFileName</param-name>
    <param-value>DataBindings</param-value>
    </context-param>
    <context-param>
    <param-name>oracle.portal.log.LogLevel</param-name>
    <param-value>4</param-value>
    </context-param>
    <filter>
    <filter-name>ADFBindingFilter</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>windows-1252</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <url-pattern>*.jspx</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <servlet-name>uix</servlet-name>
    </filter-mapping>
    <!-- <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <servlet-name>action</servlet-name>
    </filter-mapping>
    -->
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <servlet-name>SOAPServlet</servlet-name>
    </filter-mapping>
    <servlet>
    <servlet-name>SOAPServlet</servlet-name>
    <description>Extended Portal SOAP Server</description> <servlet-class>oracle.webdb.provider.v2.adapter.SOAPServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>uix</servlet-name>
    <servlet-class>oracle.cabo.servlet.UIXServlet</servlet-class>
    <init-param>
    <param-name>oracle.cabo.servlet.pageBroker</param-name>
    <param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
    </init-param>
    <init-param>
    <param-name>oracle.cabo.servlet.UIXRequestListeners</param-name>
    <param-value>oracle.cabo.adf.rt.InitModelListener</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>SOAPServlet</servlet-name>
    <description>Extended Portal SOAP Server</description>
    <servlet-class>oracle.webdb.provider.v2.adapter.SOAPServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>uix</servlet-name>
    <url-pattern>*.uix</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>uix</servlet-name>
    <url-pattern>/uix/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>SOAPServlet</servlet-name>
    <url-pattern>/providers</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>SOAPServlet</servlet-name>
    <url-pattern>/providers/*</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>35</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <welcome-file-list>
    <welcome-file>index.uix</welcome-file>
    </welcome-file-list>
    </web-app>
    someone please help me out.
    Thank you so much

  • Difference between jsf and jspx

    Hi
    We can develop a adf page in either jsf or jspx. What is the difference between jsf and jspx?
    which is more compatible in adf and why?

    Hi.
    The main difference in the version of JSF you are running on. In JSF 1.2 and lower, you built JSP pages. The JSPX extension means it was a JSP page using XML markup. This was (and still is) the default option in JDeveloper 11gR1.
    JSF pages, introduced in JSF 2.0, use another view declation language called « Facelets ». They are the default in JDeveloper 11gR2 and will be in 12c as well.
    Both standards are compatible with ADF. If you are building a new application, JSF is the way to go as it will offer you more flexibility and represents the best option going forward.
    Best Regards,
    Frédéric Desbiens.

  • ADF table and ADF form on the same view object

    Hi,
    As per the ADF demos available on ADF site, I created a jsf page with 2 panels. One panel is an ADF table based on a view object. And the other panel is and ADF form based on the same view object. My requirement is that as I scroll through the records in the ADF table, the ADF Form should dynamically display the details of the record in the ADF table. My understanding is that this should be automatic. However, its not working as expected. What have I missed?

    Hi,
    Apply PPR for form that displays details.
    Like :
    <af:table id="t3">
    </af:table>
    <af:panelFormLayout id="pfl2" partialTriggers="t3">
    </af:panelFormLayout >

  • When is it appropriate to use a servlet in a JSP/JSF environment?

    I have inherited a fairly old JSP-based application. I know that I need to update its technologies, in particular the use of AJAX so that I don't need to keep refreshing the page each time I want more data from the server. The problem is that I don't know a great deal about other technologies. There seem to be so many conflicting opinions about the way to go regarding servlets and JSP and JSF (and possibly JavaBeans). I am probably going to start using JSF and AJAX. I mention this to give you some background info. My real question is: when is best/appropriate to use a servlet? From what I have seen I do not want to use a servlet for generating HTML output - that seem just so last decade! But do they still have a good use over more modern technologies? Also, when is it appropriate to use JavaBeans? Are JavaBeans a thing of the past (or just plain inappropriate) for web applications?
    Regards,

    I suggest going to the bookstore and looking for a book on JSF and reading it cover to cover. It may tell you where servlets come into the picture (if at all). I suggest paying attention to MVC design that it discusses, and working through the examples before working on your project (assuming you have the time). Then creating a simple project and refactor it over and over to meet MVC.
    For your project, I suggest just doing ONE JSF page (and its underlying database access) and refactor it over and over again (MVC) before doing the other JSF pages. This way, you dont have to refactor 34 JSF pages to correct the same mistake appearing in all the pages (saves a LOT of time).
    I don't know enough about AJAX to really comment on it. However, I would ask myself if refreshing the JSF page is really enough of a concern for your end-users to make it worth while to use AJAX on this project.

  • HELP: include another page in with JDeveloper and ADF

    Hi all,
    I am trying to make a layout page with JDeveloper and ADF. But I just can't make things work. I have the pre-coded header and footer html pages and want to include them in a jspx somehow. I tried panelPage too, but the rendering style is away from our pre-coded header and footer.
    1. Use jsp:include.
    header works fine but footer is rendered before the page content, even if the footer is placed after the page content. Is there a way to customize the position?
    <f:facet name="footerFacet">
    <f:subview id="footerView"
    binding="#{backing_welcomePage.footerView}">
    <jsp:include page="/footer.jspf"/>
    </f:subview>
    </f:facet>
    2. Use frameBorderLayout.
    I followed the doc and use the document tag. But the frame page is rendered but none of included pages are rendered. So I got a blank page.
    <!-- frame page -->
    <f:view>
    <afh:html>
    <afh:head title="my frame page">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    </afh:head>
    <afh:body>
    <afh:frameBorderLayout height="100%" width="100%">
    <f:facet name="center">
    <afh:frame source="topPage.jspx" name="topPage3"/>
    </f:facet>
    <f:facet name="top">
    <afh:frame source="topPage.jspx" height="200" name="topPage2"/>
    </f:facet>
    <f:facet name="bottom">
    <afh:frame source="topPage.jspx" height="200" name="topPage1"/>
    </f:facet>
    </afh:frameBorderLayout>
    </afh:body>
    </afh:html>
    </f:view>
    <!-- top page -->
    <f:view>
    <af:document title="FrameBorderLayout Demo">
    <af:form>
    <af:panelGroup layout="vertical">
    <f:facet name="separator">
    <af:objectSeparator />
    </f:facet>
    <af:outputFormatted styleUsage="instruction" value="&lt;b>A frameBorderLayout&lt;/b>"/>
    </af:panelGroup>
    </af:form>
    </af:document>
    </f:view>

    for #1 have you tried throwing a verbatim tag around your includes like:
    <f:verbatim>
    <jsp:directive.include file="/includes/footer.jsp"/>
    </f:verbatim>
    it's how we got around intermixing html and jsf

Maybe you are looking for

  • Duplicate copies of files ending in "alias"?

    Hi, I am currently powering my Macbook via the mains with the battery taken out as it is faulty. The magsafe cable came out accidently resulting my mac turning off immediately. Now that I have turned it on, in the files in Finder and on my desktop ha

  • 2 Periods Costing in one month

    Due to some reason one of our employee's payroll couldn't run in November and costing has been done for november and transfer to GL, Period has been closed. Now i have have run quick pay for november and december. For December costing will be OK but

  • Trial of PS CC not detecting AMD GPU

    Hello, my Trial of Photoshop CC 2014 is not detecting my AMD 7950. Latest Driver installed, everything else detects the GPU. Integrated GPU is disabled.

  • Final output on DVD

    I have some shots in full HD 1920*1080 (shot in SONY PMW ex 1) and some in *. Mpeg ( shot in SONY HDV) . Which seq setting should I use and edit it if my final output was to come out on DVD. Or it doesn't matter whatever sequence  setting I used?  An

  • Lockbox un-processed

    Hello All, Our company is processing Customer payments using lockbox file since 5 years. Our current matching criteria is by Reference number. Our situation 1) We have a Customer invoice and we have received customer payment where reference matched 2