ADF/TopLink/Struts - start browsing from a given row position?

I created a web-application to browse a table called "Project" in the database using ADF/TopLink/Struts, following some online tutorials, and successfully deployed it to Tomcat 5.5.7. Now I am able to browse the table using the following link,
http://localhost:8080/Project/browseProject.do
Since there are too many data records in the table, I am wondering if there is a way to jump to a given row using something like,
http://localhost:8080/Project/browseProject.do?Project_ID_No=123
where "Project_ID_No" is the primary key of table "Project".
I understand that we can retrieve the value of the "Project_ID_No" parameter from the HttpServletRequest. The question is how to obtain the currency corresponding to the value of "Project_ID_No" and perform some necessary steps afterwards?
Thanks,
Henry

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
<a href="engineManagement.do?event=selectRow&rowKeyStr=<c:out value='${Row.rowKeyStr}' />&event=Delete&event=Commit" >Delete</a>
(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?

Similar Messages

  • Can I use Power Query to Import a table from Excel sheet range which starts not from the top row?

    Hi,
    Being an experienced Excel user before Power BI, I am just starting to explore the M and Power Query capabilities, and need help already (ain't easy to google this use case somehow):
    I need to import the table which sits in the Excel file with header row in the row 17 of Excel sheet, with some metadata header in the preceding rows of the columns A and B.
    01: Report name, Quick Report
    02: Report Date, 1/1/2014
    17: Employee Name, Manager, etc...
    18: John Doe, Matt Beaver, etc.
    Both (a) direct attempt to load as Excel file and (b) the indirect way through [From Folder] and formula in custom column -- both lead to the same error: "[DataFormat.Error] External table is not in the expected format."
    Specifically, I tried to use the [Power Query -> From File -> From Folder] functionality, select an Excel file and add a custom column to access the binary content: [Add Custom Column] with formula "=Excel.Workbook([Content])".
    It looks like Power Query expects a rectangular range with headers full-width followed by a contiguous table range to import anything, and refuses to load if that is not the case...
    QUESTION: Is there any way to load whatever-formatted data from Excel first, and then manipulate the overall imported range (like referring to rows starting from 17th using "Table.SelectRows" etc.) to read the actual data? Reading and using
    the metadata from header would be a bonus, but that comes second... The main issue is to get something from a non-regular Excel file to later work with using M formulae ...
    Thanks!
    SAM

    Finally found the answer to this one in ():
    You Cannot Open a Password-Protected Workbook
     If the Excel workbook is protected by a password, you
      cannot open it for data access, even by supplying the correct password with
      your connection settings, unless the workbook file is already open in the
      Microsoft Excel application. If you try, you receive the following error
      message:
    Could not decrypt file.
    ANSWER: So, will have either weave in the work with temporary unprotected files or requires opening them before updating the data source (although this almost defeats the purpose of automation...)
    ANSWER to ORIGINAL QUESTION: password was preventing Power Query from reading the Excel file. For solution see above.
    Thanks anyway for participation and inspiration, Imke!

  • Struts/ADF/Toplink conversion from 10.1.2 to 10.1.3

    Hi. We have a J2EE application based on Struts/ADF/Toplink.
    We just let the JDeveloper migrate the whole application itself.
    We solved a few minor problems, but now we have the greater one:
    - we have in domain classes some getX...(), setX...() methods, intended for example
    for getting attributes of nested objects or for conversion from String to Date.
    In older version, when you had some getXSomeAtr() method in domain class, the attribute
    XSomeAttr was automatically generated into Data Control.
    In newer version it's not! If you want the attribute to be in data control, you must
    have an private attribute XSomeAtr declared in domain class.
    Example - we have these attibutes (first two has their own getters and setters and are
    mapped in toplink, the third is unmapped)
         private Date datum;
    private String nazev;
    private String XDatumAsDate;
    and methods
    public String getXDatumAsDate() {
    return OurUtils.dateToStringAsDate(getDatum());
    public void setXDatumAsDate(String datum) throws ParseException{
    Date d = OurUtils.StringToDateAsDate(datum);
    setDatum(d);
    And the form look like this
    <html:text property="XDatumAsDate" .../>
    <html:text property="nazev"     .../>
    Reading is ok, but attempt to modify date in input field ends with
    "JBO-35009: Setting attribute for XDatumAsDate in object methodRSICollection failed"
    Are we doing something wrong ? We just need to have the date entering under our control and
    be able to enter dates in various formats.
    Thanks in advance for any comments.

    I compared the both old and new data control xml files and found the difference. The previous attribute descriptor has IsUpdateable="true" but the new has IsUpdateable="0".
    Manually changing won't help - data control generation of any class regenerates all data controls and puts back IsUpdateable="0". I'm stuck now.

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

  • JSF/ADF/Toplink object from multiple schemas

    We are considering starting a new project using JSF/ADF/Toplink using a already existent database.
    How is it possible to create toplink object from tables when tables belongs to different schemas?
    I think there must be a way to do this and in jdeveloper forum suggested me to post the question here.
    Thank you very much.
    Michele

    Michele,
    When you are in the wizard where it lets you select the tables you can select one schema and query and select your tables. Then you can switch schemas and query and select additional tables.
    When using TopLink this way you will most likely need the SQL generated qith schema qualified tables. To do this go to the map (under TopLink node) and edit its defaults tab and check the option 'Qualify Table Names with Schema Name".
    Doug

  • CTS+ in PI 7.10 - problem starting cts browser from stms

    Hi folks!
    We have successfully configured and tested CTS+ for PI 7.1 ESR and ID objects as well as for 7.1 SLD objects. So far the world is "brave".
    But we have one little issue and after scanning SMP and SDN it seems as if we are the only ones all over the world having this problem.
    When we launch the CTS Browser (Transport Organizer WebUI) from ESR, ID and/or SLD and/or manually by entering the URL in the browser the CTS browser starts as desired. But when we try to start it from within ABAP transaction STMS (via Icon or via F7) only an empty browser window is launched, but not the CTS borwser in it.
    Has anybody any ideas what's going on here?
    Thanx in advance,
    Regards,
    Volker

    Hi Volker,
    This will work with SAP GUI SP09 or higher.
    Regards,
    Sunil Deopurkar

  • Can we remove Start Private Browsing from Tool list, but use Ctlr + Shift + P instead?

    Is it possible to move the word "Start Private Browsing" from the Tool List because it can create suspect or accuse to use it, I prefer to have it dissect like using the keyboard (use Ctlr + Shift + P) to start private browsing.

    You can modify the appearance of Firefox via two customization files.
    The customization files userChrome.css for the user interface and userContent.css for websites are located in the chrome folder in the user profile folder, but aren't there by default.<br />
    You may need to create the <b>chrome</b> folder and the <b>userChrome.css</b> (the names are case sensitive).<br />
    Make sure to use a plain text editor like Notepad.exe and make sure to have all files selected when you save the file as userChrome.css to avoid that the editor appends a .txt file extension (userChrome.css.txt).
    *http://kb.mozillazine.org/Editing_configuration
    *http://kb.mozillazine.org/Editing_configuration/Troubleshooting
    You can use this button to go to the Firefox profile folder:
    *Help > Troubleshooting Information > Profile Directory: Open Containing Folder

  • Is it possible to start a web browser from with xterm (X11)?

    Hello,
    Would it be possible to start a web browser from xterm? I am able to use for example, dbca or netca. But I want to know if I could start a web brower in my xterm. Thank you.

    Thank you. Firefox was not found on this redhat linux, I am guessing it was not installed. I did a find / -name firefox but not finding it. I don't think the SA installed GUI on this box. Is there a browser I can use even though GUI was not installed? That is why I am attempting to use xterm hoping to be able to access a brower in xterm. I am using Xming for xterm. Is there something in Xming I can use so I can access the Oracle Database Control Console? I can use firefox from my desktop but the port is block at the firewall and the SA would not open the port due to security reasons. Thank you.

  • How to start a browser from within a java program?

    I want to make a help file for my java program and want to run the browser from the menu of my program.
    How can I start my browser from my program?
    A small code will be helpful.
    Thanks.
    Niteen

    This should work on Windows without having to know where the browser is located. See http://www.javaworld.com/javaworld/javatips/jw-javatip66.html for more details
      public static void viewHtml(URL url, boolean fixHtmlExtension){
          String cmd = "rundll32 url.dll,FileProtocolHandler " + url.toExternalForm();
          if (fixHtmlExtension){
            //There is a bug in rundll32. For http requests, it doesn't like .html or .htm extensions,
            //but replacing the 'm' with '%6D' works. 
            //This fix is not needed for file requests.
            if (cmd.endsWith(".htm")){
              cmd = cmd.substring(0,cmd.length()-1) + "%6D";
            else if (cmd.endsWith(".html")){
              cmd = cmd.substring(0,cmd.length()-2) + "%6Dl";
          Process process = Runtime.getRuntime().exec(cmd);
          try{
            process.waitFor();
          catch(InterruptedException e){

  • Updating to FF 4 yesterday completely wiped out my entire browsing history -- and started again from scratch as of yesterday. This is an extremely alarming, disappointing, upsetting discovery!!! Is there any way to restore / recover what was lost?

    I went to "History" & found EVERYTHING wiped out & started again from scratch after d/loading new FF version. Most people are rabid about CLEARING History, but I use mine extensively. Finding it gone was not welcome. Any way to fix / recover this?

    I had this problem but when downgrading from FF4 to FF3.6. I was able to recover everything, so maybe the solution is the same.
    [[Profiles|Find your profile folder...]]<br/>
    Close FF
    If there is a file called places.sqlite.corrupt:<br/>
    Rename places.sqlite to places.sqlite.old<br/>
    Rename places.sqlite.corrupt to places.sqlite<br/>
    Restart FF
    And if there isn't well...sorry =/. You might want to save these files elsewhere too just in case before renaming them so they can be replaced.

  • Jdev10g JSP + ADF + TopLink  debug logging

    Is there some way to specify the logging level when running a JSP/Struts + ADF + TopLink application? I suppose I can set the logging on the Struts action servlet but that will not give me a log of the TopLink statements. Normally, this is set in sesssions.xml, but ADF does not seem to use that file.
    Thanks,
    Ara

    Hi,
    Thanks for ur suggestion. I wanted to make this work with jdeveloper 10g ,as I am also using jdev for OAF development. I cannot use jdeveloper 10g for my other development activities. So kindly let me know as how to make ADF pages work with Jdeveloper 10g.
    I have followed the steps in the turorial (URL) as given below:
    http://maishareef.com/tutorials/s11.php
    In this tutorial, the ADF page is developed with jdev 10g.
    Thanks,
    Sathya

  • I have used firefox for 3 or 4 years, today it would not open. I had to reinstall and start over from the beginning. I lost a lot of bookmarks and preferences.

    Adobe installed an update, which restarted my desktop pc. After restarting I was unable to open Firefox browser. So, I clicked on Firefox, and then run as... first I tried running as... and chose my name. Firefox browser still would not open. Then I chose administrator which opened Firefox browser, but, as a new Firefox installation. It did contain add-ons, but not book marks, history, downloads or preferences. Now i have started over from the beginning. Is there any way I can restore lost bookmarks and preferences? Do you think system restore would help?

    Are there still JSON backups in the bookmarkbackups folder?
    *http://kb.mozillazine.org/Lost_bookmarks
    You can use this button to go to the Firefox profile folder:
    *Help > Troubleshooting Information > Profile Directory: Show Folder

  • How to upload/download to blob using ADF-toplink?

    I am using ADF-toplink,i tried upload to blob using some of the code given in the ADFBC upload/download application...IT WORKED... but download is not working...I want to know some better method for both uploading and downloading... IN ADF-TOPLINK only......

    Hi guys,
    I'm able to download file in ADF using af:fileDownloadActionListener.......
    does any one knows how to upload a file using ADF???

  • Launching Browser from Java when Browser URL is very  long

    Hi,
    I am trying to launch a browser from Java.
    I am doing the following.
    String command = "cmd" + "/c" + "start" + " browserURL";
    Process p = Runtime.getRuntime()exec(command);
    Note: My browserURL is very long.
    Now the browser is invoked. But the URL shown is incomplete and hence
    browser is unable to open the required application.
    Can someone help me in this.
    One way is to increase the buffer size on the command prompt?
    Is there any java command for this?
    Is there any other way to solve this issue.
    Thanks,
    AR

    this is my second time posting this, take note of it. I can't remember where i got it from, but credits go to the person that wrote it. It has helped me out thousands of times!!!
    to use, compile, then call from your program:
    org.newio.utils.BrowserLauncher.openURL("your url here")dfwtc
    package org.newio.utils;
    import java.io.File;
    import java.io.IOException;
    import java.lang.reflect.*;
    public class BrowserLauncher
        private static int jvm;
        private static Object browser;
        private static boolean loadedWithoutErrors;
        private static Class mrjFileUtilsClass;
        private static Class mrjOSTypeClass;
        private static Class macOSErrorClass;
        private static Class aeDescClass;
        private static Constructor aeTargetConstructor;
        private static Constructor appleEventConstructor;
        private static Constructor aeDescConstructor;
        private static Method findFolder;
        private static Method getFileType;
        private static Method makeOSType;
        private static Method putParameter;
        private static Method sendNoReply;
        private static Object kSystemFolderType;
        private static Integer keyDirectObject;
        private static Integer kAutoGenerateReturnID;
        private static Integer kAnyTransactionID;
        private static final int MRJ_2_0 = 0;
        private static final int MRJ_2_1 = 1;
        private static final int WINDOWS_NT = 2;
        private static final int WINDOWS_9x = 3;
        private static final int OTHER = -1;
        private static final String FINDER_TYPE = "FNDR";
        private static final String FINDER_CREATOR = "MACS";
        private static final String GURL_EVENT = "GURL";
        private static final String FIRST_WINDOWS_PARAMETER = "/c";
        private static final String SECOND_WINDOWS_PARAMETER = "start";
        private static final String NETSCAPE_OPEN_PARAMETER_START = " -remote 'openURL(";
        private static final String NETSCAPE_OPEN_PARAMETER_END = ")'";
        private static String errorMessage;
        private BrowserLauncher()
        private static boolean loadClasses()
            switch(jvm)
            default:
                break;
            case 0: // '\0'
                try
                    Class aeTargetClass = Class.forName("com.apple.MacOS.AETarget");
                    macOSErrorClass = Class.forName("com.apple.MacOS.MacOSError");
                    Class osUtilsClass = Class.forName("com.apple.MacOS.OSUtils");
                    Class appleEventClass = Class.forName("com.apple.MacOS.AppleEvent");
                    Class aeClass = Class.forName("com.apple.MacOS.ae");
                    aeDescClass = Class.forName("com.apple.MacOS.AEDesc");
                    aeTargetConstructor = aeTargetClass.getDeclaredConstructor(new Class[] {
                        Integer.TYPE
                    appleEventConstructor = appleEventClass.getDeclaredConstructor(new Class[] {
                        Integer.TYPE, Integer.TYPE, aeTargetClass, Integer.TYPE, Integer.TYPE
                    aeDescConstructor = aeDescClass.getDeclaredConstructor(new Class[] {
                        java.lang.String.class
                    makeOSType = osUtilsClass.getDeclaredMethod("makeOSType", new Class[] {
                        java.lang.String.class
                    putParameter = appleEventClass.getDeclaredMethod("putParameter", new Class[] {
                        Integer.TYPE, aeDescClass
                    sendNoReply = appleEventClass.getDeclaredMethod("sendNoReply", new Class[0]);
                    Field keyDirectObjectField = aeClass.getDeclaredField("keyDirectObject");
                    keyDirectObject = (Integer)keyDirectObjectField.get(null);
                    Field autoGenerateReturnIDField = appleEventClass.getDeclaredField("kAutoGenerateReturnID");
                    kAutoGenerateReturnID = (Integer)autoGenerateReturnIDField.get(null);
                    Field anyTransactionIDField = appleEventClass.getDeclaredField("kAnyTransactionID");
                    kAnyTransactionID = (Integer)anyTransactionIDField.get(null);
                    break;
                catch(ClassNotFoundException cnfe)
                    errorMessage = cnfe.getMessage();
                    return false;
                catch(NoSuchMethodException nsme)
                    errorMessage = nsme.getMessage();
                    return false;
                catch(NoSuchFieldException nsfe)
                    errorMessage = nsfe.getMessage();
                    return false;
                catch(IllegalAccessException iae)
                    errorMessage = iae.getMessage();
                return false;
            case 1: // '\001'
                try
                    mrjFileUtilsClass = Class.forName("com.apple.mrj.MRJFileUtils");
                    mrjOSTypeClass = Class.forName("com.apple.mrj.MRJOSType");
                    Field systemFolderField = mrjFileUtilsClass.getDeclaredField("kSystemFolderType");
                    kSystemFolderType = systemFolderField.get(null);
                    findFolder = mrjFileUtilsClass.getDeclaredMethod("findFolder", new Class[] {
                        mrjOSTypeClass
                    getFileType = mrjFileUtilsClass.getDeclaredMethod("getFileType", new Class[] {
                        java.io.File.class
                    break;
                catch(ClassNotFoundException cnfe)
                    errorMessage = cnfe.getMessage();
                    return false;
                catch(NoSuchFieldException nsfe)
                    errorMessage = nsfe.getMessage();
                    return false;
                catch(NoSuchMethodException nsme)
                    errorMessage = nsme.getMessage();
                    return false;
                catch(SecurityException se)
                    errorMessage = se.getMessage();
                    return false;
                catch(IllegalAccessException iae)
                    errorMessage = iae.getMessage();
                return false;
            return true;
        private static Object locateBrowser()
            if(browser != null)
                return browser;
            switch(jvm)
            case 0: // '\0'
                try
                    Integer finderCreatorCode = (Integer)makeOSType.invoke(null, new Object[] {
                        "MACS"
                    Object aeTarget = aeTargetConstructor.newInstance(new Object[] {
                        finderCreatorCode
                    Integer gurlType = (Integer)makeOSType.invoke(null, new Object[] {
                        "GURL"
                    Object appleEvent = appleEventConstructor.newInstance(new Object[] {
                        gurlType, gurlType, aeTarget, kAutoGenerateReturnID, kAnyTransactionID
                    return appleEvent;
                catch(IllegalAccessException iae)
                    browser = null;
                    errorMessage = iae.getMessage();
                    return browser;
                catch(InstantiationException ie)
                    browser = null;
                    errorMessage = ie.getMessage();
                    return browser;
                catch(InvocationTargetException ite)
                    browser = null;
                    errorMessage = ite.getMessage();
                    return browser;
            case 1: // '\001'
                File systemFolder;
                try
                    systemFolder = (File)findFolder.invoke(null, new Object[] {
                        kSystemFolderType
                catch(IllegalArgumentException iare)
                    browser = null;
                    errorMessage = iare.getMessage();
                    return browser;
                catch(IllegalAccessException iae)
                    browser = null;
                    errorMessage = iae.getMessage();
                    return browser;
                catch(InvocationTargetException ite)
                    browser = null;
                    errorMessage = ite.getTargetException().getClass() + ": " + ite.getTargetException().getMessage();
                    return browser;
                String systemFolderFiles[] = systemFolder.list();
                for(int i = 0; i < systemFolderFiles.length; i++)
                    try
                        File file = new File(systemFolder, systemFolderFiles);
    if(file.isFile())
    Object fileType = getFileType.invoke(null, new Object[] {
    file
    if("FNDR".equals(fileType.toString()))
    browser = file.toString();
    return browser;
    catch(IllegalArgumentException iare)
    browser = browser;
    errorMessage = iare.getMessage();
    return null;
    catch(IllegalAccessException iae)
    browser = null;
    errorMessage = iae.getMessage();
    return browser;
    catch(InvocationTargetException ite)
    browser = null;
    errorMessage = ite.getTargetException().getClass() + ": " + ite.getTargetException().getMessage();
    return browser;
    browser = null;
    break;
    case 2: // '\002'
    browser = "cmd.exe";
    break;
    case 3: // '\003'
    browser = "command.com";
    break;
    case -1:
    default:
    browser = "netscape";
    break;
    return browser;
    public static void openURL(String url)
    throws IOException
    if(!loadedWithoutErrors)
    throw new IOException("Exception in finding browser: " + errorMessage);
    Object browser = locateBrowser();
    if(browser == null)
    throw new IOException("Unable to locate browser: " + errorMessage);
    switch(jvm)
    case 0: // '\0'
    Object aeDesc = null;
    try
    try
    aeDesc = aeDescConstructor.newInstance(new Object[] {
    url
    putParameter.invoke(browser, new Object[] {
    keyDirectObject, aeDesc
    sendNoReply.invoke(browser, new Object[0]);
    catch(InvocationTargetException ite)
    throw new IOException("InvocationTargetException while creating AEDesc: " + ite.getMessage());
    catch(IllegalAccessException iae)
    throw new IOException("IllegalAccessException while building AppleEvent: " + iae.getMessage());
    catch(InstantiationException ie)
    throw new IOException("InstantiationException while creating AEDesc: " + ie.getMessage());
    break;
    finally
    aeDesc = null;
    browser = null;
    case 1: // '\001'
    Runtime.getRuntime().exec(new String[] {
    (String)browser, url
    break;
    case 2: // '\002'
    case 3: // '\003'
    Runtime.getRuntime().exec(new String[] {
    (String)browser, "/c", "start", url
    break;
    case -1:
    Process process = Runtime.getRuntime().exec((String)browser + " -remote 'openURL(" + url + ")'");
    try
    int exitCode = process.waitFor();
    if(exitCode != 0)
    Runtime.getRuntime().exec(new String[] {
    (String)browser, url
    catch(InterruptedException ie)
    throw new IOException("InterruptedException while launching browser: " + ie.getMessage());
    break;
    default:
    Runtime.getRuntime().exec(new String[] {
    (String)browser, url
    break;
    static
    loadedWithoutErrors = true;
    String osName = System.getProperty("os.name");
    if("Mac OS".equals(osName))
    String mrjVersion = System.getProperty("mrj.version");
    String majorMRJVersion = mrjVersion.substring(0, 3);
    try
    double version = Double.valueOf(majorMRJVersion).doubleValue();
    if(version == 2D)
    jvm = 0;
    } else
    if(version >= 2.1000000000000001D)
    jvm = 1;
    } else
    loadedWithoutErrors = false;
    errorMessage = "Unsupported MRJ version: " + version;
    catch(NumberFormatException numberformatexception)
    loadedWithoutErrors = false;
    errorMessage = "Invalid MRJ version: " + mrjVersion;
    } else
    if(osName.startsWith("Windows"))
    if(osName.indexOf("9") != -1)
    jvm = 3;
    } else
    jvm = 2;
    } else
    jvm = -1;
    if(loadedWithoutErrors)
    loadedWithoutErrors = loadClasses();
    suck my balls

  • Won't start up from 'Install Disc'

    I ran Disk Utilities because my iMac's fan kept running. Disk Utilities said I had HD problems and needed to start up from the Install Disc. I have tried holding down 'D' and tried changing the start up disk settings, even starting up pressing C and as a final go... Command-Option-P-R..... still not starting up on the install dvd. All I get is a white screen and the DVD clicks for a bit and then gives up.
    I just can't seem to get past that white screen!
    Please give me a hint!
    P.S. I have even tried different install DVD's!

    I am having very similar problems.
    iMac has worked fine for 3 years. Today, it suddenly froze while I was on the web. I had to force it down by holding down the button on the back. When I tried to start, it would just sit on the Apple icon + progress icon. Or it would get to the blue screen and then just freeze at the blue screen. No system at all.
    I was able to restart in safe mode once. Things seemed to be working fine. But the second I started Safari, the progress icon came up (the one for my mouse), would never go away, and I couldn't do anything. Had to once again shut down by holding down the button on the back.
    After that, it will not restart in safe mode (hangs at the apple icon or never even gets to the apple icon). It will not restart from the Install disc. Same thing, just hangs at the apple icon.
    We don't use this machine for anything except browsing the web. No big programs. No games. No movies. Nada. It's so frustrating to have this problem.

Maybe you are looking for