Saving the output of JSTL into a java variable

Hi All, Apologies if this has been asked before, but i've been looking for an answer to this question for 2 hours and can't find anything..
I have a simple JSP page which queries a database. The database will only return one value, which is printed out perfectly with:
<c:forEach var="row" items="${qryPosts.rows}">
<c:set var="email" value="${row.email}" />
<c:out value="${row.email}" />
</c:forEach>
First question: Do i have to go through all this if I know there will only ever be one value returned from my SQL statement?
Second question: How can I get the returned value into a JSP variable, so I can use it in my java code.
Thanks very much to anyone who can help,
Regards,
Brett

First a couple of disclaimers. If you've been looking through this forum, you've probably come across these pointers before.
- don't use SQL in a JSP page. It should be in a Servlet/Bean.
- don't mix JSTL and scriptlet code within a JSP. It makes the page even worse than scriptlet alone.
Those are just recommendations based on my experience, and best practice.
Having said that, here are the answers to your questions
1 - No, you don't need to have a forEach loop
If you know that there will be one and only one result returned, you can get at it via the expression
${qryPosts.rows[0].email}
With regards to getting it out to java code
<c:set var="email" value="${qryPosts.rows[0].email}"/>
and then you can use this:
<jsp:useBean id="email" type="java.lang.String"/>
or scriptlet code like this:
<%
String email = pageContext.findAttribute("email");
%>
Cheers,
evnafets

Similar Messages

  • Update LIKP table while saving the output type in VT02N transaction

    Hi All,
    I have a requirement where i have to update Delivery Priority(LPRIO) field in LIKP table while saving the output type in VT02N transaction. I am not able to use the BAPI "BAPI_OUTB_DELIVERY_CHANGE" or FM "WS_DELIVERY_UPDATE" because, when we save the output type the programs that are configured in NACE are triggered in update mode and hence i will get a roll back error.
    Let me know other ways of updating the table at the time of saving output type for shipment transaction VT02N.

    This could be a result of one of the following reasons:
    1: Incorrect smart form/routine assigned in the output configuration (NACE)
    2: Serial number range of the delivery expired
    3: The default settings of the user (SU01) processing the delivery is missing the default printer name.
    Hope this is helpful
    Manish

  • Saving the output of a .sql file in .csv format

    Hi,
    I am saving the output of a .sql file in .csv format. But the problem is , the record of few columns have "new line" character in it, so when it is getting saved in .csv format, those records are coming in multiple rows, but they should come in one single row in single block. Please advise how to overcome this problem.
    Regards,
    Niraj

    Hi Guys,
    I guess, there is a misunderstanding.
    He is talking about the issue caused as a result of the data containing a "CRLF" ( Carriage return Line feed ) .
    That is mainly a data issue.
    The query i presume, must be right.
    I guess you should be able to fix it using some string functions.
    Some thing similar to this
    CREATE TABLE ASH (NAME VARCHAR2(10))
    SELECT REPLACE(NAME, CHR(13)||CHR(10), 'ISH') FROM ASH;
    SELECT REPLACE(NAME, CHR(10), 'ISH') FROM ASH;
    SELECT REPLACE(NAME, CHR(13), 'ISH') FROM ASH;
    depending on the type of new line whether it is CR or LF. or CRLF.
    Regards
    Ashish/-

  • MDO Query errors in log -[Cannot fetch column 22, which has JDBC type DOUBLE, into a Java variable of type ]

    Hello,
    We are seeing a lot of log messages like the one below when an MDO select query is run. There is a message for every numeric column. There doesnt seem to be any issue with the queries working properly its just creating a lot of log messages. Has anyone else had this issue?
    Exception of type com.sap.sql.log.OpenSQLException caught:
    Cannot fetch column 22, which has JDBC type DOUBLE, into a Java variable of type
    float..
    [EXCEPTION]
    com.sap.sql.log.OpenSQLException: Cannot fetch
    column 22, which has JDBC type DOUBLE, into a Java variable of type float.
    at com.sap.sql.log.Syslog.createAndLogOpenSQLException(Syslog.java:83) ...

    Hi Christian,
    You are right. As in your case it is a select query it does not reflect the error automatically. In my case, I had an insert query so it failed then and there, which was easier to debug and fix.
    I have one question regarding your case. When you read the MDO using the query, what do you do with the output? Do you assign it to any local/transaction property in the output links of the query block or in a proceeding assignment block?
    Because, the error mentions that the assignment of float to double datatype fails. So, in theory there should be some assignment done with the output.
    Please check if you could figure out this part in your transaction.
    Regards,
    Saumya Govil

  • Answer from a sql query into a java variable ?

    Hey!
    Got a simple question :
    String dml = ("INSERT INTO student " +
                                         "VALUES ( SELECT MAX(id) +1 FROM student "  +
                                         "','" + student.getFornavn() +
                                         "','" + student.getEtternavn() +
                                         "','" + student.getKlasse() + "')");This sql syntax would work in sql+ , but for some reason not in java.. Need to add 1 to max id every time new student are added , or is there any way i could make sql add a new unique nubmer when id = NULL ?
    The other solution could be to get the answer from SELECT MAX (id) + 1 into a java variable and use that number value in insert query ?
    Or maybe the best would be to make a procedure ?

    Thanks!
    How would the syntax be to execute this procedure in java :
    CREATE OR REPLACE PROCEDURE legg_til_student (p_fnavn student.fornavn%TYPE, p_enavn student.etternavn%TYPE, p_klasseid student.klasseid%TYPE) IS
    v_id student.id%TYPE;
    BEGIN
         SELECT MAX(id) +1 INTO v_id
         FROM student;     
         IF p_klasseid > 3 THEN
         DBMS_OUTPUT.PUT_LINE ('Ugyldig klasseid');
         ELSE
         INSERT INTO student VALUES (v_id, p_fnavn, p_enavn, p_klasseid);
         END IF;
    END;
    /Only this into a stmt sentence ? :
    exec legg_til_student ('Test', 'Test', 2); ? thanks :)

  • Saving the output of java programs in files

    How I do save the output of a program to a MS - DOS file ?

    import java.io.*;
    use FileOutputStream /BufferedOutputStream class.....
    read tutorials or books about JAVA on these technology
    U can find many examples in this site too

  • Some examples in saving the output into memory

    After running the class file i would like to save the results into memory, and then update the results in memory every time the program runs including the number of times it checked whatever it is going to check with the result of that checking. Then saving the results into a .txt file every time the program goes to sleep for an hour, as it has while(ture) loop.
    Will storing data in a variable save it into memory?? (example if u can please)
    I will be gratefull if you could tell/show me how to to save the results into memory and then update these results (i will need examples please). As having the program in a while(ture) loop and saving the result into a .txt file has been done.
    Thanks a lot in advance.

    i am sorry if i did not make myself clear, but i dont know how to do that, if there r any examples so I could understand it, i am sorry again. What i am trying to do is to store some information to memory and then update and retrieve these information later on and write it into a file, and do the same every hour.
    I am sorry for not understanding it and for not making anyone to understand it.

  • Saving the output from a JSP request

    I have developed a decision support web site that amongst other things generates a "report" page. Now my client would like to add the ability for users of the site to have that report emailed out to them.
    Sending the email obviously isn't a problem, but getting the content into it is. I really don't want to have to duplicate all the JSP code from the report page (there's a lot, including calls to beans etc), and reformat the entire thing with hundreds of out.write("<table>") like statements, or nasty plain-text formatted equivalents.
    So...is there a way to "save" the output generated by the server before it gets sent back to the user - ideally to a local file that I can then just dump straight into the email message. I can't just call the page (internally on the server) to see its output, as it's user-specific and uses a lot of session-related information.
    Cheers for any advice...
    Iain

    It's actually possible to do what I want to do by getting the server to call the page internally (I didn't think it was).
    A simple URLConnection to the appropriate page with the jessionid appended gives me back the page as the user would see it. I can then just stream the response from that to file/email/whatever.
    When the user clicks on their "email" link, I just call a jsp file (or a servlet) with the following code:
         URLConnection uc;
            BufferedInputStream fin;
         BufferedOutputStream fout;
         String location = "http://localhost:8080/blah/report.jsp"
              + ";jsessionid=" + session.getId();
         String filename = "C:\\output.html";
         try
              uc = new URL(location).openConnection();
              fin  = new BufferedInputStream(uc.getInputStream());
              fout = new BufferedOutputStream(new FileOutputStream(filename));
              int byteRead = fin.read();
              while (byteRead != -1)
                   fout.write(byteRead);
                   byteRead = fin.read();
              fout.close();
              fin.close();
         catch (Exception e) {}Now all I have to do is go learn how to write multipart emails using JavaMail...

  • How can i save the output  of  report into  a file,.

    Hi friends,
                 i was create a executable program .. it was executing fine.. imagine.. my program is just fetching the data from  LFA1  table based on some conditions.. every thing is fine.. and i'm getting the output also..
    but i want to save this output in a separate file.. that means.. what can i do.. my program is executing background... so, i want to save this out put in a file... so, can any one plz provide me the coding steps...
    for example here i'm giving the  my program code.. so, now where can i add the new coding.. and what can  i add ...
    data:begin of  table itab occurs 0,
            lifnr  type  lifnr,
            name1 type  name1,
            end of itab.
    select lifnr  name1  from lfa1  into table  itab .
    loop at itab.
    write:/  itab-lifnr , itab-name1,
    endloop.
    i dont know coding.. I'm learning ABAP... so, can you plz provide the exact coding..for storing these data into separate file from spool..
    help ful answers will be rewarded
    Thanks
    Babu

    Hi  Santhosh,  and  Atish,
         Thanks  for ur responces... i was mention already in my question itself.. that my program is executing  in background.. so,  every day at  6 am it will execute.. but i want to see the result...
    for that what can i do..
    regards
    Babu

  • Converting the output of FS10N into smartforms

    Hi Experts,
    I have a requirement to convert the output of the tcode FS10N into a smartform and append it with a cover sheet.
    Kindly guide me
    Regards,
    Manjusha S
    Edited by: manjusha srinivasan on May 20, 2009 7:00 AM

    Yes Multiple selctions Possible.
    For this: Based on the input populate the accounts to a Internal Table.
    After that use the below steps
    Loop at <ITAB>
    USE BAPI_GL_GETGLACCPERIODBALANCES
    Process table account_balances infor to other  iternal table in required fromat.
    Endloop.
    NOTE: During calculation of Begining Balance part for period 1 balance_carried_forward
    is the key. just include this condition also.
          IF Period EQ 1.
            Beg_balance = Beg_balance + balance_carried_forward value.
          ENDIF.
    BR,
    Rajani

  • How to convert the output of smartforms into doc format

    Hi friends,
    I want the output of smartform to be saved in doc format. I don't want to view the printpreview screen and then save it. The way we save the output in pdf format I want it to be done in doc format. Please don't suggest this option
    After the print preview, Select the menu Goto->List Display.
    Now select the menu System->List->Save->Local File.
    Now you can select the radio buttion Rich Text Format.
    Now you save the document as a .doc file (say test.doc)
    Regards,
    Satabdi

    Hi friends,
    I want the output of smartform to be saved in doc format. I don't want to view the printpreview screen and then save it. The way we save the output in pdf format I want it to be done in doc format. Please don't suggest this option
    After the print preview, Select the menu Goto->List Display.
    Now select the menu System->List->Save->Local File.
    Now you can select the radio buttion Rich Text Format.
    Now you save the document as a .doc file (say test.doc)
    Regards,
    Satabdi

  • Download the output of smartform into excell sheet

    Hi Experts,
    We have one smartform for list out the  Shipment  packing list.
    Now the requirement is we need to download  into excel file output of the samrtform when we issue the output.
    Please help on this issue to resolved.
    Thanks and regards,
    Amjad Hussain,

    Hi,
    As per my knowledge, it is not possible to download into Excel , but we can store as PDF or faxing or mail with PDF attachement is possible.
    Bye

  • Adding numbers in a file a and saving the output in another file.!

    can any one pls tell me how to add numbers from a textfile and save the output in another textfile. i'm new with java so pls help out..

    Hi Friend,
    your statement is not clear, it's bit confuse
    this is my unserstanding,
    you want to open a file and read the values then add numbers,
    latter save the sum in a new file.let me know if this is the thing, I can help u
    with Cheers
    Prasanna

  • How can I put all output error message into a String Variable ??

    Dear Sir:
    I have following code, When I run it and I press overflow radio button, It outputs following message:
    Caught RuntimeException: java.lang.NullPointerException
    java.lang.NullPointerException
         at ExceptionHandling.ExceptTest.actionPerformed(ExceptTest.java:72)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6038)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
         at java.awt.Component.processEvent(Component.java:5803)
         at java.awt.Container.processEvent(Container.java:2058)
         at java.awt.Component.dispatchEventImpl(Component.java:4410)
         at java.awt.Container.dispatchEventImpl(Container.java:2116)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
         at java.awt.Container.dispatchEventImpl(Container.java:2102)
         at java.awt.Window.dispatchEventImpl(Window.java:2429)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)Caught RuntimeException: java.lang.NullPointerException
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)I hope to catch all these error message into a String Variable such as StrErrorMsg, then I can use System.out.println(StrErrorMsg) to print it out or store somewhere, not only display at runtime,
    How can I do this??
    Thanks a lot,
    See code below.
    import java.awt.Frame;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.FileInputStream;
    import javax.swing.ButtonGroup;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    public class ExceptTest extends JFrame implements ActionListener {
        private double[] a;
      private JRadioButton divideByZeroButton;
      private JRadioButton badCastButton;
      private JRadioButton arrayBoundsButton;
      private JRadioButton nullPointerButton;
      private JRadioButton negSqrtButton;
      private JRadioButton overflowButton;
      private JRadioButton noSuchFileButton;
      private JRadioButton throwUnknownButton;
      public ExceptTest() {
        JPanel p = new JPanel();
        ButtonGroup g = new ButtonGroup();
        p.setLayout(new GridLayout(8, 1));
        divideByZeroButton = addRadioButton("Divide by zero", g, p);
        badCastButton = addRadioButton("Bad cast", g, p);
        arrayBoundsButton = addRadioButton("Array bounds", g, p);
        nullPointerButton = addRadioButton("Null pointer", g, p);
        negSqrtButton = addRadioButton("sqrt(-1)", g, p);
        overflowButton = addRadioButton("Overflow", g, p);
        noSuchFileButton = addRadioButton("No such file", g, p);
        throwUnknownButton = addRadioButton("Throw unknown", g, p);
        getContentPane().add(p);
      private JRadioButton addRadioButton(String s, ButtonGroup g, JPanel p) {
        JRadioButton button = new JRadioButton(s, false);
        button.addActionListener(this);
        g.add(button);
        p.add(button);
        return button;
      public void actionPerformed(ActionEvent evt) {
        try {
          Object source = evt.getSource();
          if (source == divideByZeroButton) {
            a[1] = a[1] / a[1] - a[1];
          } else if (source == badCastButton) {
            Frame f = (Frame) evt.getSource();
          } else if (source == arrayBoundsButton) {
            a[1] = a[10];
          } else if (source == nullPointerButton) {
            Frame f = null;
            f.setSize(200, 200);
          } else if (source == negSqrtButton) {
            a[1] = Math.sqrt(-1);
          } else if (source == overflowButton) {
            a[1] = 1000 * 1000 * 1000 * 1000;
            int n = (int) a[1];
          } else if (source == noSuchFileButton) {
            FileInputStream is = new FileInputStream("Java Source and Support");
          } else if (source == throwUnknownButton) {
            throw new UnknownError();
        } catch (RuntimeException e) {
          System.out.println("Caught RuntimeException: " + e);
          e.printStackTrace();
          System.out.println("Caught RuntimeException: " + e);
        } catch (Exception e) {
          System.out.println("Caught Exception: " + e);
      public static void main(String[] args) {
        JFrame frame = new ExceptTest();
        frame.setSize(150, 200);
        frame.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
        frame.show();
    }

    yes, I update as follows,
    but not looks good.
    import java.io.*;
    public class UncaughtLogger implements Thread.UncaughtExceptionHandler {
        private File file;
        private static String errorMessage;
        public UncaughtLogger(File file) {
            this.file = file;
            //Thread.setDefaultUncaughtExceptionHandler(this);
        public UncaughtLogger(String str) {
            this.errorMessage = str;
            Thread.setDefaultUncaughtExceptionHandler(this);
        //@Override()
        public void uncaughtException(Thread t, Throwable e){
            try {
                log(e);
            } catch (Throwable throwable) {
                System.err.println("error in logging:");
                throwable.printStackTrace();
        private void log(Throwable e) throws IOException {
            PrintWriter out = new PrintWriter(new FileWriter(file, true));
            try {
                e.printStackTrace(out);
            } finally {
                out.close();
        private static UncaughtLogger logger = new UncaughtLogger(new File("C:/temp/log.txt"));
        private static UncaughtLogger logger2 = new UncaughtLogger(errorMessage);
        public static void main(String[] args) {
                String s1 = "Hello World!";
                s1 = null;
                String s2 = s1.getClass().getName();
                System.out.println(s1);
                System.out.println(s2);
                System.out.println("errorMessage =" + errorMessage);
    }

  • How do I disallow users from saving the data they enter into an Editable form?

    Hi all,
    I am working with a client who does NOT want their users to be able to save their data. In other words, when the user opens the PDF file, they can enter data into the editable fields, but they should NOT be able to save that data as part of the PDF.
    Does that make sense?
    My client doesn't want the user to be able to save a local copy of the PDF with any of the data entered onto the form.
    Based on what I've found in my research, as of Version 11, Adobe Reader now allows users to save their data. Unfortunately, my client doesn't want that.
    Any help?
    Thanks,
    Steve

    About the best you can do is include a JavaScript that resets the form when it is saved, so no entered data remains in the fields. The problem with this approach is JavaScript can be disabled, resulting in the form not being cleared and allowing the filled-in form to be saved.
    You can address this with an additional JavaScript that runs when the form is opened that sets all of the fields from read-only to not read-only, allowing the fields to be filled-in. If JavaScript is disabled, the script won't run when the document is opened and the fields will remain read-only and therefore not fillable.
    The user would be able to work around this by having JavaScript enabled when the document is opened and disabling it after filling-in the form but before saving it. Most users would not be aware of how to do this though.
    If there are rules/regulations/laws in place that require something more certain, you'll have to take a different approach.

Maybe you are looking for

  • Photoshop Elements 8 for Mac questions

    1. Installing: I opened the PSE folder on the disc and ran Setup.app. Should it be obvious that this is the way to install? The Read Me file on the disc is not at all clear about this. 2. I left PSE 6 in the Applications folder when installing PSE 8,

  • New iMac (2013 27" Model)

    Hi, Currently I'm deciding if I should get a new iMac 27". I am using a 17" Macbook Pro (2010 17") and it's not handling what I use it for (Video Editing). If you have a new iMac and use it for video editing, could you please leave a comment below an

  • Sliders for iBook's widget built in iAd producer

    I am attempting to build a widget that features sliders (general object) for iBooks in iAd producer. I added sliders in iAd Producer; have a minimum setting of 0.0, maximum of 10, and moving at increments of 0.5. I tested them in the preview funciton

  • Multilevel Replenishment in SAP F&R

    Hi Experts, I am new to SAP F&R. I read about multilevel replenishment. What is it exactly. Is this functionality is available in SAP APO. Please explain. Thanks in advance.

  • ITunes doesn't see iPod

    I'm running iTunes 601 on a g4 with system 10.3.9. iTunes won't recognise my ipod...anyone have any ideas?