confused ADF/Struts/JSP: Data entry page question

Scenario: If I have a master page, say department, and a detail for entering new employees for that department (say emp).
Page1: Browse Page of Departments
link to [create] new emp in this department
Page 2:
Emp Input form
If I want to display information such as the Department#, name, and location in the second page, what should I do?
a) drop a read only version of dept here, and do a setCurrentRowWithKey and an Emp creation action prior to going to the page
b) pass parameters from the calling page, and fire an emp create action prior to getting to the page
If I go the route of (b), what's the easiest or recommended way of doing it?

a) Seems like the best approach here

Similar Messages

  • Adf-Struts/JSP/BC4J- and setting date fields from jsp

    Hi,
    I'm working with the new ADF Frameworks (JDev 9.0.5.1) and ran into some questions regarding exception handling using BC4J, Struts and JSPs.
    I have a DATE column in database and an entity and VO with a datefield with type oracle.jbo.domain.Date.
    My JSP shows a textfield and the user should enter a valid date. Everything fine, until date is of wrong format or contains illegal characters...
    Problem:
    ADF tries to do a setAttribute on the datefield in VO row which expects a parameter with type oracle.jbo.domain.Date. When the user entered e.g. "NiceWeather" as date, I get an IIlegalArgumentException while converting to the correct Date format. This exception isn't thrown by bc4j as AttrValException and therefore my JSP renders a global error instead of a message directly behind the date field.
    I tried to validate the datefield in my DataForm and in my Action in the validateModelUpdates() method, but with no fitting solution.
    Any ideas how to validate a datefield with adf/struts/jsp/bc4j?
    Thanks for your help!
    Torsten.

    Torsen - In the first instance I'd recommed that you try and handle it declaritively using the Struts Validator Framework . See http://otn.oracle.com/products/jdev/howtos/10g/StrutsValidator/struts_validator_howto.html
    There is a section in there on how to use the validator with ADF databound pages and you can check the format the user enters via generated JavaScript.
    Also check out the matching sample project:
    http://otn.oracle.com/sample_code/products/jdev/10g/ADFandStrutsValidator.zip - this has a data field check on it as well

  • Popup Data Entry Page

    I see a lot of things about Popup LOV pages, but I want to create a data entry popup page. I'd like to have a button on my current data entry page that will popup another data entry page based on the ID of one Page and the I_ID of the next page, which works now, but instead of a regular page, I'd like it in a popup so that you can see both pages at the same time. Any help for that?

    I just recently did this. The first javascript function I used to pop up the dialog. The second function is called from the dialog to close it
    function showProjectPopupLOV(){
    removeEmptyOptions(document.getElementById("P21_PROJECT_LIST"));
    var blueprintId = document.getElementById("P21_BLUEPRINT_ID").value;
    var url = 'f?p=&APP_ID.:7:&SESSION.::&DEBUG.::P7_BLUEPRINT_ID:' + blueprintId;
    w = open(url, "winLov", "Scrollbars=1, resizable=1, width=550, height=650");
    if(w.opener == null)
    w.opener = self;
    w.focus();
    function backToCaller(){
    opener.document.getElementById("P21_CONSULTANT_LIST").focus();
    close();
    .

  • Advanced table to create a multi-record data entry page

    how to use advanced table or table OAF features to create a multi record data entry page ?
    there will not be any master or header region. Only a multi-record detail region for creating records.

    Hi ,
    There is no such "multi-record detail region" , you can illustrate Master detail in OAF by creating the region in following order .
    1 ) Page Layout region
    2 ) Any header region(eg - message component layout etc ) - for entering and saving header level records .
    3 ) Advance table - for entering and saving the line level records ( with add another row feature ) .
    Thanks ,
    Keerthi

  • ADF Struts JSP SelectList

    JDeveloper 10g JSP, Struts and ADF application.
    I am developing a search form that has a number of criteria fields one of which is a selectlist.
    The code that is generated when I drop the data control as a single select list onto the jsp page is as follows:
    <html:select property="SearchCodeType">
    <html:optionsCollection label="prompt" value="index" property="SearchCodeType.displayData"/>
    </html:select>
    The list is populated and I can select a value, however the value I need is the value of the prompt not the value of index (the prompt is a string) to be assigned to the parameter SearchCodeType when I submit so I can use this when adjusting the where clause of my view object to return the correct results.
    I am looking for a Struts/ADF/JSP solution.

    Have you guys find a way to save(commit) the multi-selection that is created as a part of the list. Steve Muenek put me in the right directions but if you guys have find a way or code please let me know since the time is running short and I would hate to move to another tool to get this functionality.
    I have the implementation methods using BC4J/View Object and do understand I'll need to override the create() method but just don't know how to read the records using the iterator or from the array of strings that is saved after the user has created multiple selections.
    We are using ADF Struts at least for now.
    Thanks a lot,
    Kamran

  • [freelance job] Experienced ADF/Struts/JSP View-Controller developer

    Hi,
    I'm looking for a freelance "10.1.2 JDeveloper":
    - First task: Development of multi-lingual Struts View and Controller for login, logout, contact, free registration(create/modification of account info, new password, ...) pages.
    Period: may, june 2005 and more if first collaboration is succesful.
    Skills on following technologies are required:
    - View: Struts tags , Struts-el tags , JSTL , JSP , Servlets => no javascript, no UIX, no faces
    - Controller: ADF/Struts
    - Model: Oracle ADF-BC 10.1.2 Oracle 10g Database
    We provide the static html pages + css files and the ADF-BC model components.
    We develop/enhance the Model service methods based on your requirements.
    You "translate" the static html pages to Struts/Struts-EL/JSTL/JSP and the necessary ADF-Struts controllers that inter-act with our ADF-BC Model.
    Contact: [email protected]
    Regards
    Fred
    PS Sorry for polluting this technical forum with this kind of request.

    Dear all..
    I have change the block program, but still can't run..
    My EmpAction.java like these
    ==============================================
    package BindTest7.view;
    import BindTest7.model.EmpViewImpl;
    import java.text.DateFormat;
    import java.text.ParseException;
    import
    oracle.adf.controller.struts.actions.DataActionContext;
    import
    oracle.adf.controller.struts.actions.DataForwardAction;
    import oracle.jbo.ApplicationModule;
    import oracle.jbo.ViewObject;
    import java.util.Date;
    public class EmpAction extends DataForwardAction
    protected void prepareModel(DataActionContext ctx) throws Exception {
    super.prepareModel(ctx);
    ctx.getBindingContainer().findIteratorBinding("FindEmpView1Iterator")
    .setFindMode(true);
    public void onSearch(DataActionContext ctx) {
    ctx.getBindingContainer().findIteratorBinding("EmpView1Iterator")
    .executeQuery();
    //-public void onFilter(DataActionContext ctx)
    //recovery view
    ApplicationModule
    am=ctx.getBindingContainer().getDataControl().getApplicationModule();
    ViewObject EmpView=am.findViewObject("EmpView");
    //recovery dates
    String
    d1Str=ctx.getHttpServletRequest().getParameter("hiredate");
    String
    d2Str=ctx.getHttpServletRequest().getParameter("endDate");
    java.text.SimpleDateFormat formatter =
    new java.text.SimpleDateFormat("dd/MM/yyyy");
    Date d1=null;
    Date d2=null;
    // parse method could try a ParsingException,
    // it doesn't happpeend when dates are correct
    try
    d1=formatter.parse(d1Str);
    d2=formatter.parse(d2Str);
    catch (Exception e)
    //set where clausole
    EmpView.setWhereClauseParams(null);
    EmpView.setWhereClause("Hiredate>=:1 and Hiredate<=:2");
    EmpView.setWhereClauseParam(0,d1);
    EmpView.setWhereClauseParam(1,d2);
    EmpView.executeQuery();
    ===============================================
    Please help me....
    I just want to make a little modification on Steve Muench's Example
    by placing two input form for hiredate column so that
    the user only put the date
    on the query " between hiredate :1 and :2
    I'm waiting...
    regard
    erie

  • 2 Data entry improvement questions

    Data entry is quicker if you can stay on the keyboard and not have to use the mouse.
    When I hit tab and go across to my next cell, if it is a drop down box cell, is there a way to simply type in the first few letters causing the drop box to predict my selection? So far i have to stop using the keys and use the mouse to choose my selection.
    Also, when i finish filling a row with info, If I hit tab expecting it to drop me to the row below, obviously it creates a new column. Is there a hot key to drop to the first cell in the row below? Or can you change what the tab key does?
    cheers for any answers!
    Evan

    Hi Evan,
    1. No. Popups always require the mouse. But Numbers does build a live list of previous entries in a column (or regular cells), and will offer these as auto completion hints when you start an entry with the same letter(s). Less than completely useful, though, as Numbers remembers the mistyped entries too, and offers no way to edit the list.
    2. Pressing return on the last entry will return you to the cell under the first one in which an entry was made in the row. Pressing tab in the last column will confirm the entry (and not add a column, or move the selection) the first time you press it. If you then press tab again, a new column is added. If you press return, the action is as described above.
    Regards,
    Barry

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

  • ADF BC/Struts/JSP

    I'm hoping some of you out there can just confirm some of my observations and maybe answer a few high level questions.
    I have been playing around with Jdev 9052 for a few days, I've read Steve Muench's Data Binding primer and have even created a few demo apps.
    The one i'm currently playing with has two data pages, a browse form and an edit form. The browse form simply displays a few rows from a view object, has an edit and a delete link for each row, and has a create link outside the main table for creating a new row.
    To make the create link work, i have a binding on the BrowseForm data page(called "Create") bound to the Create action on my literator. I also have a forward on my BrowseForm data page called "Create" that forwards to my EditForm data page. The edit page then displays the new blank row, I fill in the data and press the submit button.
    The data action automatically copies the data into the new blank row in the view object. The submit button's name is "event_save" and i have an onSave method defined in the pages DataAction that commits the transaction.
    My questions are:
    A) Is this the correct way to be doing this?
    B) Assuming this is the correct way, is the BC framework holding a database transaction open between the time the Create action is executed on the iterator(in response to clicking the "New" link) and the commit operation is executed(in response to the submit button on the edit page)???
    C) If it is holding open a transaction during the data entry, isn't that a bad thing in a web application?
    D) If it is holding open a transaction, what does the BC framework do when the app module pool gets full and it needs to start recycling modules?
    I have one more question not related to my example. In every web application I have written for use by the general public, and in every app I have used that was written for the public, there has never been any concept of having to Commit changes separate from submitting the data to the server. As a user when i press the submit button I expect the data to be saved, i don't expect to also have to click on a Commit button like I do in Oracle Forms. My question is, does Oracle have any plans to add any features to ADF BC to make this kind of development any easier and more declarative?

    Sorry I haven't been able to reply, got dragged into an emergency project.
    I have it all working very well, and I really should have figured the commit thing out myself, I was just thinking about it way too hard.
    I do have one more quick question about something I was able to do, I want to have a link next to each row that will delete that row. In order to do that I need to:
    1) Set the current row
    2) Delete the row
    3) Commit
    I was able to do this declarative without having to create any extra data actions by passing three event params on a link such as the following
    &lt;a href="engineManagement.do?event=selectRow&rowKeyStr=&lt;c:out value='${Row.rowKeyStr}' /&gt;&event=Delete&event=Commit" &gt;Delete&lt;/a&gt;
    (selectRow is bound to the setCurrentRowWithKey method)
    Should I be using the event system in this way?
    This seems to work very well, but i'm concerned about the ordering of the events, if they get executed in the wrong order, the wrong row will be deleted or the transaction won't get committed. Will the ADF controller always execute events in the order they appear on the query string?

  • Multiple page data entry form

    Hello,
    I need to build a multiple page data entry screen for users
    to enter information into the DB table. There are many fields I
    need to capture and store in a table. Some of the fields are multi
    line text field for the users to enter a few lines of text in a
    textbox. But right now, I wasn’t sure which approach I should
    take.
    1. Use session variables to capture the data as the users are
    completing the multiple page data entry then store all the values
    at the end when the user finish entering all the data.
    2. Create a temporary table in a DB to capture the data until
    the user is finished then store the values in the temporary table
    back to the real table.
    I hope someone can provide me with some suggestions on this.
    Thank you in advance for any assistance.

    It depends on how you want to handle:
    User fills out first couple of pages only. He may or may not
    come back.
    User fills out a couple of pages and then uses browser to go
    back to page 1, which he changes and resubmits.

  • How to use javascript functions in struts jsp page

    hi
    iam using struts jsp pages. here iam calling one javascript function. but iam not able to access the form in javascript.
    wat i have to give as form name to get the elements of the form.
    please reply me soon
    it is urgent
    vamsi

    your form has no name liek this one:
    <html:form action="/userRegistration.do" >so you cannot access the elements inside your form?
    accessing the elements inside the form will be like this:
    document.forms[0].propertyName.value;

  • Login Box example and source code on adf struts and JSP

    Dear all..
    I want to make application using ADF struts and JSP using oracle 10g Jdeveloper.
    The user should login into the login box and verify everyone who has right to enter the home.jsp.
    Anybody could help me with the source code as well as the step by step explanation...
    I'm looking forward the help...

    http://www.oracle.com/technology/products/jdev/collateral/papers/10g/reviewer/viewlets/reviewer_struts_viewlet_swf.html

  • Passing values in "Date Entry" items to called page

    I have a page with:
    o 2 Date Entry fields (P1500_BEGINDATE & P1500_ENDDATE).
    o A "Submit" button, P1500_SUBMIT_DATE_RANGE
    I want to use the 2 dates in a query on a linked page, called by the Submit button. I've setup 2 hidden Date Fields on the 2nd page, hoping I could stuff the dates into them, and grab them from there for the query.
    I'm sure I'm making this much harder than it hasta be... but for the life of me, I can't get the dates from the 1st page to the 2nd.
    Please let me know the easiest way to accomplish this (I've tried all of the hard ones that don't work... ;o)
    Thanks!
    Mark

    Mark: You don't need hidden fields.
    When you submit the page using the Submit button, the P1500_BEGINDATE (you really have 1500 pages in your app?!) and P1500_ENDDATE items are saved into session state and are available on any other page to be used as you need.

  • Bug report: Controls in the Data Entry property page reset when using relative time

    Create a blank VI.
    Drop a numeric control.
    Right click and select "Display Format".
    Change to a relative time.
    Switch to the "Data Entry" tab page.
    Uncheck the "Use Default Limits" boolean.
    Try changing the values and you will see that they return to their previous values (inf, by default). This persists even after pressing OK and opening the dialog again. It looks like the values are held in a cache and put back into the controls, since if you change a page and go back to the limits page, it shows the correct values. I also managed to get it to display the values using the correct format (relative time), which I assume is what it should be doing.
    This is in LabVIEW 8.6.
    Try to take over the world!
    Attachments:
    Relative Time Data Entry Bug.vi ‏5 KB

    I spent some time playing around with this in 8.6.1, and at this time do not consider it a bug - unless there is something I completely missed.
    When you set to relative time, the inputs for data entry are expecting HH:MM or HH:MMS, depending on which display setting you chose.  Typing a '7' is undefined - does the user mean hours? Minutes? Seconds? Parsecs ?
    Once we type in a value that matches the format and we get the display to change, it is true that from now on if we type '7' in the field, it will automatically coerce it to 7:00, if we type 36 it coerces to 36:00.  If we type 7.5, it does not change the value at all.  I think at this point, the user knows what is going on, so this behavior is acceptable.  After accepting the changes and re-opening the properties window, the limits are persistent.
    I was not able to reproduce typing a '7' in the limit, having it automatically coerce back to '-inf', then going to a different tab or clicking ok, and coming back and seeing it as 7:00. It was still '-inf'.  If you have some more details on this, maybe I can reproduce it, but from everything I tried, users are be able to enter values and these values are saved.
    Edit - I am aware of the other forum post and the CAR filed there...
    Message Edited by Robbob on 03-03-2009 11:20 AM
    Rob K
    Measurements Mechanical Engineer (C-Series, USB X-Series)
    National Instruments
    CompactRIO Developers Guide
    CompactRIO Out of the Box Video
    Attachments:
    2009-03-03_105522.jpg ‏51 KB
    2009-03-03_105336.jpg ‏58 KB

  • Nesting a BC4J JSP data tag within a Struts tag?

    Has anybody tried nesting a BC4J JSP data tag within a Struts JSP tag? I can't get it to work. For example,
    <logic:equal name="sort" value="<jbo:ShowDefinition datasource='ds' dataitem='CustomerName' definition='ColumnName' />">
    blah blah blah
    </logic:equal>

    Try using single quotes in the value=' ' and double quotes in the jbo tag usage.

Maybe you are looking for

  • HT1222 how do you get your music back on your ipod?

    im really mad i cant get any music back on my ipod

  • SR created using cs_servicerequest_pub.Create_ServiceRequest is not able to search it in Contact Center.

    Hi All ,    I have created a SR using following sql api declare lx_msg_count NUMBER; lx_msg_data VARCHAR2(2000); lx_request_id NUMBER; lx_request_number VARCHAR2(50); lx_interaction_id NUMBER; lx_workflow_process_id NUMBER; lx_msg_index_out NUMBER; l

  • Getting music off of ipod

    Hi! My computer recently crashed and i lost all my music and i can not seem to find the cd i burned with all my music. I have been dying to update my ipod, but I am afraid I will loose all of my music already on there. My question, is there anyway i

  • Pages Textwrapping to Next Page

    Hey guys, Sorry if this is redundant with another topic. It's only my 2nd day on a Mac so I'm a little lost right now. In Pages, I've noticed that text seems to wrap an entire paragraph to the second page when you are typing, leaving a large amount o

  • Problems with downloading citrix client

    Does anybody have any experience with downlading a citrix client (to use for work) for macbook? I have tried everything. At first I thougt my problem was java, but it turned out not to be. Then I called the support, they told med to try downloading f