NumberFormatException in jsp

HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /UserDetails/userData_jdbc.jsp:25
22:
23:
24:      /*------------ making above compatible for processing -----*/
25:      int uAge= Integer.parseInt(age);
26:      long uPhone=Long.parseLong(phone);
27:
28:
Stacktrace:
     org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause
java.lang.NumberFormatException: null
     java.lang.Integer.parseInt(Unknown Source)
     java.lang.Integer.parseInt(Unknown Source)
     org.apache.jsp.UserDetails.userData_005fjdbc_jsp._jspService(userData_005fjdbc_jsp.java:70)
     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
and my code is:
{<%@page import="com.servlet.UserInfo" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<html>
<body>
<%
   /*----creating User info Object ---------------*/
     UserInfo user1= new UserInfo();
/*     File f=new File("textFile.txt");
     FileOutputStream fos= new FileOutputStream(f);  */
  /*---------------fetching values from userInfo.html---------*/
     String userName= request.getParameter("uname");
     String age= request.getParameter("age");
     String gender= request.getParameter("sex");
     String address1= request.getParameter("addr1");
     String address2= request.getParameter("addr2");
     String phone= request.getParameter("phone");
     /*------------ making above compatible for processing -----*/
     int uAge= Integer.parseInt(age);
     long uPhone=Long.parseLong(phone);
    /*-----------accessing class methods (SETTER Methods)-------*/
     user1.setName(userName);
     user1.setAge(uAge);
     user1.setAddress1(address1);
     user1.setAddress2(address2);
     user1.setPhone(uPhone);
     user1.setGender(gender);
/*--------------GETTER Methods--------*/
     String nameOfUser= user1.getName();
          //System.out.println(nameOfUser+"---------"+user1.getName());
     int userAge= user1.getAge();
          //System.out.println("AGE field"+ userAge +"---"+user1.getAge());
     String addr1_user= user1.getAddress1();
     String addr2_user= user1.getAddress2();
     long phone_user=user1.getPhone();
     String userGender=user1.getGender();
     System.out.println(nameOfUser + " ---------" + userAge +"----"+ addr1_user +"-----" + addr2_user);
     System.out.println(phone_user);
     %>
    <%
          user1.saveData(nameOfUser, userAge, userGender,addr1_user,addr2_user,phone_user);
          ArrayList usr1=user1.getRecords();
          //ArrayList usr1=user1.searchRecords(userName);
          UserInfo[] user4 = new UserInfo[usr1.size()]; %>
          <%= usr1.size() %>
     <form name="del_data"   method="get" onsubmit="return pressButton()">
     <table border =1>
     <%
          for(int i=0;i<usr1.size();i++)
     %>     
          <% user4= (UserInfo) (usr1.get(i));
          %>
          <tr>
          <td><input type="checkbox" name="checkData" value="<%= user4[i].getPhone() %>" /></td>
          <td><%=     user4[i].getName() %> </td>
          <td><%= user4[i].getAge() %></td>
          <td><%= user4[i].getGender() %></td>
          <td><%= user4[i].getAddress1() %></td>
          <td><%= user4[i].getAddress2() %></td>
          <td><%= user4[i].getPhone() %></td>
          </tr>
          <%
     %>
     <tr>
          <td>
               <input type="submit" value="Delete" name="detect" /></td>
               <td><input type="submit" value="Update" name="detect" /></td>
          <td><input type="reset" value="clear"/></td>
     </tr>
     </table>
     </form>
     <script language="javascript">
     function pressButton()
          if(document.form2.detect.value=="Update")
               document.del_data.action = "update_row.jsp"
               return
          else
               document.del_data.action= "update_row.jsp"
     </script>
     successfully saved in database
     </body>
     </html>code}

I dont think this is the correct forum section for this question.
Even then,If you have a closer look at the java file created for this jsp in the work folder,the line number will give you some hint at what the exact error is.
<<HARSH MODE ON>>
Dont you see that parseInt is throwing the null pointer exeception hence age or phone must be null.
Why are you shy to put atleast some debugging sysouts to just see what values you are actually passing to the parseInt ?
If you put atleast one sysout at the proper place the issue would have a fair chance of being resolved.
Putting code and saying figure the error for me is pure laziness.
<<HARSH MODE OFF>>
Thanks.

Similar Messages

  • Jsp throw numberformatexception.see my code .reply as soon as possible

    i am developed application onclick checkbox delete the record.on first field i give the href to serailno for open the update page. like this <a href="UpdateBoq.jsp?S_NO=<%=sno%>">.sno is serialno.is come from database wihen i am click on serial no it show the updatepage.jsp is not open the updatepage.jsp but it throw the exception number format.this is my code.anybody help me this my project working i am only the single persion to develop this application in jsp.please help me.as soon as possible
    <%@ page language="java" import="java.sql.*"%>
    <%@ page import="java.text.SimpleDateFormat" %>
    <%@ page import="java.util.Date" %>
    <%! int count = 0; %>
    <%! String itemcode;%>
    <%! String sns;%>
    <%! String contunit; %>
    <%! float qty; %>
    <%! float oup;%>
    <%! float oep;%>
    <%! int sno;%>
    <%! int stcode;%>
    <%! float sum=0.0f;%>
    <%! float sum1=0.0f;%>
    <jsp:useBean id="sos" class="boq.Calculation" scope="request"/>
    <%
    //String userID = String.valueOf(session.getAttribute("APP_USER_ID"));
    //String userID = String.valueOf(session.getAttribute("LOGIN_ID"));
    String strDelete = request.getParameter("btnDelete");
    String strserialno=request.getParameter("serialno1");
    String strmopno = request.getParameter("mop");
    String strjobno = request.getParameter("job");
    String strwop=request.getParameter("siten");
    String strno=request.getParameter("siteno");
    if (strDelete != null)
    String del=request.getParameter("hidcount");
    int delcount=-1;
    if (del!=null)
    System.out.println("I am in start of delete Action");
    delcount = Integer.parseInt(del);
    String strCheckBox="";
    String strHidVal="";
    for (int i=0; i<=delcount; i++)
    strCheckBox = request.getParameter("checkbox"+i);
    if(strCheckBox!=null)
    strHidVal = request.getParameter("hid"+i);
    System.out.println("country code is :"+strHidVal);
    System.out.println(del);
    Connection con=null;
    try
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.87:1521:orcl","system","tiger");
    System.out.println(con);
    Statement st2 = con.createStatement();
    Statement st1 = con.createStatement();
    String str0="select * from BOQ where S_NO= '"+ strHidVal + "'";
    ResultSet rs = st1.executeQuery(str0);
    String str="delete from BOQ where S_NO= '"+ strHidVal + "'";
    System.out.println(strCheckBox);
    int a=st2.executeUpdate(str);
    catch(Exception e)
    %>
    <script language="JavaScript">
    alert("<%=e.getMessage()%>");
    </script>
    <%
    finally
    if(con!=null)
    con.close();
    %>
    <html>
    <head>
    <title>CRS</title>
    <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
    <link rel="stylesheet" href="css/ems.css" type="text/css">
    </HEAD>
    <body leftmargin=0 topmargin=2>
    <jsp:include page="Index.html" />
    <form name=form1 action="BOQVIEW.jsp" method=post>
    <table border=0 cellspacing=1 cellpadding=1 width=100% height=5>
    <tr>
    <td valign="top" height="23">
    <table width="100%" border="0" cellspacing="1" cellpadding="1">
    <tr>
    <td bgcolor='#E6E4E4' width=45 align="Center" colspan=2>
    <font color="#5d7a80" size="2">
    BOQ OF MOPS
    </font>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td valign=top>
    <table width="100%" cellpadding="1" cellspacing="1" border="0">
    <tr>
    <td width="130" height="5" class="ReportColumnHeader" align="center" colspan=40>S/NO</td>
    <td width="130" height="5" class="ReportColumnHeader" align="center" colspan=60>SITE NAME</td>
    <td width="130" height="5" class="ReportColumnHeader" align="center" colspan=65>SITE NUMBER</td>
    <td width="130" height="5" class="ReportColumnHeader" align="center" colspan=90>ITEM CODE/MATERIAL CODE</td>
    <td width="180" height="5" class="ReportColumnHeader" align="center"colspan=120>CONTRACT UNIT DESCRIPTION ORIGINAL</td>
    <td width="130" height="5" class="ReportColumnHeader" align="center" colspan=>QUANTITY</td>
    <td width="130" height="5" class="ReportColumnHeader" align="center" colspan=90 >ORIGINAL UNIT PRICE</td>
    <td width="130" height="5" class="ReportColumnHeader" align="center" colspan=100>ORIGINAL EXTENDED PRICE</td>
    </tr>
    </table>
    <%
    Connection con=null;
    try
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","tiger");
    System.out.println(con);
    Statement st = con.createStatement();
    Statement st1=con.createStatement();
    String qoq=request.getParameter("qoq");
    int one=Integer.parseInt(qoq);
    ResultSet rs = st.executeQuery("SELECT * from BOQ where SITE_CODE="+one);
    ResultSet rs1=st1.executeQuery("select SUM(O_U_P) AS oriunitprice,SUM(O_E_P) AS oriextendsprice from boq WHERE SITE_CODE="+one);
    %>
    <%
    int count=0;
    while(rs.next())
    sno=rs.getInt(1);
    stcode=rs.getInt(2);
    sns=rs.getString(3);
    itemcode=rs.getString(4);
    contunit = rs.getString(5);
    qty=rs.getFloat(6);
    oup = rs.getFloat(7);
    oep = rs.getFloat(8);
    %>
    <table border="0" cellspacing="1" cellpadding="1" width="100" >
    <tr>
    <td class="ReportCellText1" width="10" height=><input type=checkbox name="<%="checkbox"+count%>" onselect="deleterecord();"> </td>
    <td class="ReportCellText1" width="130" height="5" align="center" colspan=29><a href="UpdateBoq.jsp?S_NO=<%=sno%>"><%=sno%></a>
    </td>
    <td class="ReportCellText1" width="55" height="5" align="center" COLSPAN=60><%=sns%></td>
    <td class="ReportCellText1" width="50" height="5" align="center" COLSPAN=65><%=stcode%></td>
    <td class="ReportCellText1" width="130" height="5" align="center" COLSPAN=90><%=itemcode%></td>
    <td class="ReportCellText1" width="130" height="5" align="center" COLSPAN=120><%=contunit%></td>
    <td class="ReportCellText1" width="130" height="5" align="center" COLSPAN=54><%=qty%></td>
    <td class="ReportCellText1" width="130" height="5" align="center" COLSPAN=90><%=oup%></td>
    <td class="ReportCellText1" width="130" height="5" align="center" colspan=100> <%=oep%></td>
    </tr>
    <tr>
    </table>
    <input type=hidden name="<%="hid"+count%>" value="<%=sno%>">
    <!--
    </tr>
    <tr>
    </tr>
    <tr>
    </tr> !-->
    <%
    count++;
    %>
    <table width="100%" cellpadding="1" cellspacing="1" border="0">
    <TR>
    <td width="60" height="5" class="ReportCellText3" align="center" colspan=></td>
    <td class="ReportCellText3" width="55" height="5" align="center" COLSPAN=></td>
    <td width="60" height="5" class="ReportCellText3" align="center" colspan=></td>
    <td class="ReportCellText3" width="50" height="5" align="center" COLSPAN=></td>
    <td class="ReportCellText3" width="50" height="5" align="center" COLSPAN=></td>
    <td class="ReportCellText3" width="50" height="5" align="center" COLSPAN=></td>
    <td class="ReportCellText3" width="50" height="5" align="center" COLSPAN=></td>
    <%
    rs1.next();
    sum=rs1.getFloat("oriunitprice");
    sum1=rs1.getFloat("oriextendsprice");
    %>
    <td width="60" height="5" class="ReportColumnHeader" align="center" colspan=>TOTLE AMOUNT</td>
    <td class="ReportCellText1" width="85" height="5" align="center" colspan=> <%=sum%></td>
    <td class="ReportCellText1" width="90" height="5" align="center" colspan=> <%=sum1%></td>
    </table>
    <TABLE>
    <input type=hidden name=hidcount value =<%=count%>>
    <input type=hidden name=serialno value=<%=itemcode%>>
    <INPUT TYPE=hidden NAME=mop VALUE=<%=contunit%> >
    <INPUT TYPE=hidden NAME=job VALUE=<%=qty%> >
    <INPUT TYPE=HIDDEN name=siten value=<%=oup%>>
    <input type=hidden name=siteno value=<%=oep%>>
    <table><tr><td>
    <input type = button value = Print size=20 onClick = "window.print();"></td>
    <td><input type = Submit value = "Delete" name="btnDelete" size = 20> </td>
    </form>
    <form action=BOQ.jsp method=post>
    <td><input type=Submit value = "Add New" size=20></td>
    </form>
    <form action=NEWPEexl.jsp method=post>
    <td><input type=Submit value = "Export to Excel" size=20></td></tr></table>
    </form>
    <%
    catch(Exception e)
    out.println(e.getMessage());
    finally
    if(con!=null)
    con.close();
    %>
    </body>
    </html>
    when i am click the serial no it show the update page is update .jsp
    this is the update code
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/fileaccess.tld"
    prefix="fileaccess"%>
    <%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/sqltaglib.tld"
    prefix="database"%>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ page language="java" import="java.sql.,java.util."%>
    <%@ page import="java.text.SimpleDateFormat" %>
    <%@ page import="java.util.Date" %>
    <%! int count = 0; %>
    <%!Connection con=null;%>
    <%!PreparedStatement ps=null;%>
    <%
    String strUpdate = request.getParameter("btnUpdate");
    String sno=request.getParameter("serialno1");
    int snoi=Integer.parseInt(request.getParameter("serialno1"));
    String sc=request.getParameter("sitenumber");
    int sci=Integer.parseInt(request.getParameter("sitenumber"));
    String sn=request.getParameter("sitename");
    String itc=request.getParameter("itemno");
    String cu=request.getParameter("contract");
    String qty=request.getParameter("quantity");
    float qtyf=Float.parseFloat(request.getParameter("quantity"));
    String oup=request.getParameter("orig");
    float oupf=Float.parseFloat(request.getParameter("orig"));
    String oep=request.getParameter("origexp");
    float oepf=Float.parseFloat(request.getParameter("origexp"));
    if (strUpdate != null)
    try
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.87:1521:orcl","system","tiger");
    System.out.println(con);
    System.out.println("Connection Established");
    Statement st = con.createStatement();
    String str="update BOQ set SITE_CODE="sci",SITE_NAME='"sn"',ITEM_CODE='"itc"',CONTRACT_UNIT='"cu"',QTY="qtyf",O_U_P="oupf",O_E_P="oepf" where S_NO="snoi" ";
    int a=st.executeUpdate(str);
    if (a>0)
    %>
    <script type="text/javascript" >
    alert("The Record has been Updated Successfully");
    <% response.sendRedirect("BOQVIEW.jsp"); %>
    </script>
    <%
    catch(Exception e)
    String m = e.getMessage();
    %>
    <font size="1" face="Verdana" color=blue>
    "<%=m%>"</font>
    <%
    try
    if(con!=null)
    con.close();
    catch(SQLException sq)
    out.println(sq.getMessage());
    %>
    <!-- Insert the data code-->
    <HTML>
    <head>
    <title>BOQ</title>
    <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
    <script type="text/javascript">
    function callingdate()
    Calendar.setup({
    inputField : "f_date_b", //*
    ifFormat : "%d-%b-%Y ",
    showsTime : true,
    button : "f_trigger_b", //*
    step : 1
    function callingdate1()
    Calendar.setup({
    inputField : "f_date_b1", //*
    ifFormat : "%d-%b-%Y ",
    showsTime : true,
    button : "f_trigger_b1", //*
    step : 1
    function dating()
    var mylist=document.getElementById("effective_date")
    document.getElementById("date").value=mylist.options[mylist.selectedIndex].text
    function caps() {
    document.form1.country_code.value = document.form1.country_code.value.toUpperCase()
    document.form1.country_name.value = document.form1.country_name.value.toUpperCase()
    </script>
    </head>
    <BODY >
    <% count++;
    %>
    <form name=form1 action=UpdateBoq.jsp method=post>
    <!-- <h3 STYLE = "BACKGROUND-COLOR=blue;
    COLOR=YELLOW"
    align=center color=green>Country Information</h1> !-->
    <table width="100%" border="0" cellspacing="1" cellpadding="0">
    <tr>
    <td bgcolor='#336699' align="Center"><font color="#d2b48c" size=2>BOQ OF MOPS</font> </td>
    </tr>
    </table>
    <%
    Connection con=null;
    try
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.87:1521:orcl","system","tiger");
    System.out.println(con);
    Statement st = con.createStatement();
    String se=request.getParameter("serialno1");
    //int ser=Integer.parseInt(request.getParameter("serialno1"));
    String s="SELECT * from BOQ where S_NO="Integer.parseInt(request.getParameter("serialno1"))" ";
    ResultSet rs = st.executeQuery(s);
    System.out.println(s);
    %>
    <%
    while(rs.next())
    int serialno=rs.getInt(1);
    int stcode=rs.getInt(2);
    String sname=rs.getString(3);
    String itcode=rs.getString(4);
    String conunit=rs.getString(5);
    float qtyw = rs.getFloat(6);
    float oupw=rs.getFloat(7);
    float oepw=rs.getFloat(8);
    %>
    <table width="100%" border="0" cellspacing="1" cellpadding="0">
    <tr>
    <td bgcolor='#E6E4E4' align="Center" width=100%><font color="#5d7a80" size=2>BOQ OF MOPS </font> </td>
    </tr>
    </table>
    <table width="100%" border="0" cellspacing="1" cellpadding="0">
    <tr><td >
    1)SERIAL NUMBER:</td><td><input type=text name=serialno1 value= "<%=serialno%>" size=10 onblur = "caps();">
    </td></tr>
    <tr><td >
    2)SITE NUMBER:</td><td><input type=text name=sitenumber value= "<%=stcode%>" size=10 onblur = "caps();">
    </td></tr>
    <tr><td >
    3)SITE NAME:</td><td><input type=text name=sitename value= "<%=sname%>" size=10 onblur = "caps();">
    </td></tr>
    <tr><td>
    4)ITEM CODE/MATERIAL CODE:</td><td><input type=text name=itemno value= "<%=itcode%>" size = 20 onblur = "caps();" >
    </td></tr>
    <tr><td>
    5)CONTRACT UNIT DESCRIPTION:</td><td><input type=text name=contract value= "<%=conunit%>" size = 20 onblur = "caps();" >
    </td></tr>
    <tr><td>
    6)QUANTITY:</td><td><input type="text" name="quantity" value= "<%=qtyw%>" size =40 onblur = "caps();" >
    </td></tr>
    <tr><td>
    7)ORIGNAL UNIT/PRICE:</td><td><input type=text name=orig value= "<%=oupw%>" size = 20 onblur = "caps();" >
    </td></tr>
    <tr><td>
    8)ORIGNAL EXTENDED/PRICE:</td><td><input type=text name=origexp value= "<%=oepw%>" size = 20 onblur = "caps();" >
    </td></tr>
    </TABLE>
    <%
    %>
    <center>
    <table>
    <tr><td>
    <INPUT TYPE=Submit value = Update name="btnUpdate" size=20/></td> </tr></table>
    </form>
    <form action="BOQVIEW.jsp" method = post>
    <center> <table>
    <tr><td>
    <input type="submit" value="View" size="20"></input>
    </td> </tr></table>
    </form>
    </form>
    </table>
    </center>
    <hr>
    <script type="text/javascript">
    Calendar.setup({
    inputField : "f_date_b", //*
    ifFormat : "%d-%b-%Y ",
    showsTime : false,
    button : "f_trigger_b", //*
    step : 1
    Calendar.setup({
    inputField : "f_date_b1", //*
    ifFormat : "%d-%b-%Y",
    showsTime : false,
    button : "f_trigger_b1", //*
    step : 1
    </script>
    </BODY>
    <%
    catch(Exception e)
    out.println(e.getMessage());
    finally
    try
    if(con!=null)
    con.close();
    catch(SQLException sq)
    out.println(sq.getMessage());
    %>
    </HTML>
    this my table database oracle 9i
    CREATE TABLE BOQ
    S_NO INTEGER NOT NULL,
    SITE_CODE INTEGER,
    SITE_NAME VARCHAR2(40),
    ITEM_CODE VARCHAR2(20),
    CONTRACT_UNIT VARCHAR2(60),
    QTY FLOAT(70),
    O_U_P FLOAT(70),
    O_E_P FLOAT(70)
    );</a>

    1. Use code tags, there's button that says 'Code'. Select your text and use that. I'm not going to read your code while it's unformatted like this and especially because you seem to have posted your whole darn project here; and I suspect few others will bother either.
    2. Don't paraphrase the exception; post the exact stack trace.
    3. There's usually a line number given with the exception; which line does your stack trace point to? Try to figure out what you're doing wrong there.
    4. NumberFormatException means that you're trying to parse a string that's not in the correct format. Make sure the data you're getting from the DB is correct.
    People on the forum help others voluntarily, it's not their job.
    Help them help you.
    Learn how to ask questions first: http://faq.javaranch.com/java/HowToAskQuestionsOnJavaRanch
    ----------------------------------------------------------------

  • Java.lang.NumberFormatException while retriving detail in jsp page

    inside ActionClass(in struts i have )i am taking msgno as a input
    ArrayList arry=new ArrayList();
    Message msg=null;
    Address[] from=null;
    Date date=null;
    Address[] recipients=null;
    String subject=null;
    String contType=null;
    Object msgBody=null;
    BodyBn bbn=null;
    System.out.println("inside bussiness");
    Properties props = new Properties( );
    props.put("mail.debug","true");
    final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
    final String host = "pop.gmail.com";
    final String port="995";
    final String username = "[email protected]";//my mail id
    final String password = "######### "; //my password
    String provider = "pop3";
    props.put("mail.pop3.host",host);
    props.put("mail.pop3.user",username);
    props.put("mail.pop3.port",port);
    props.setProperty( "mail.pop3.socketFactory.port", "995");
    props.setProperty( "mail.pop3.socketFactory.class", SSL_FACTORY);
    props.setProperty("mail.pop3.socketFactory.fallback", "false");
    try {
    Session session = Session.getInstance(props,new javax.mail.Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication(username,password);     }
    Store store = session.getStore(provider);
    store.connect(host, username, password);
    boolean b=store.isConnected();
    if(b==true) {
    System.out.println("************conneted to pop server***********");
    Folder inbox = store.getFolder("INBOX");
    if (inbox == null) {
    System.out.println("No INBOX");
    System.exit(1);
    inbox.open(Folder.READ_ONLY);
    msg = inbox.getMessage(msgno);
    from= msg.getFrom();
    date=msg.getSentDate();
    recipients=msg.getAllRecipients();
    subject=msg.getSubject();
    contType= msg.getContentType();
    msgBody=msg.getContent();
    System.out.println("msg is from "+from);
    System.out.println("msg date "+date);
    System.out.println("msg recipients "+recipients);
    System.out.println("msg sub is "+subject);
    System.out.println("msg conttype "+contType);
    System.out.println("msg body is "+msgBody);
    bbn=new BodyBn(from,date,recipients,subject,contType,msgBody);
    System.out.println("----------adding to arry list--------------");
    arry.add(bbn);
    req.setAttribute("msgDetail",arry);
    return mapping.findForward("success");
    }catch(Exception e) {
    System.out.println("Exception***********");
    ------------------------------in jsp page i m retriving all data--------------------------------
    <body>
    <logic:present name="msgDetail">
    <table>
    <tr>
    <td>${msgDetail.from[0]}</td>
    </tr>
    <tr>
    <td>${msgDetail.recipients[0]}</td>
    </tr>
    <tr>
    <td>${msgDetail.subject}</td>
    </tr>
    <tr>
    <td>${msgDetail.contType}</td>
    </tr>
    <tr>
    <td>${msgDetail.msgBody}</td>
    </tr>
    </table>
    </logic:present>
    while printing these data in to console it is showing all data properly
    but when i am trying to access these data from jsp page it is giving me
    Following exception
    java.lang.NumberFormatException: For input string: "from"
         java.lang.NumberFormatException.forInputString(Unknown Source)
         java.lang.Integer.parseInt(Unknown Source)
         java.lang.Integer.parseInt(Unknown Source)
         javax.el.ListELResolver.coerce(ListELResolver.java:166)
         javax.el.ListELResolver.getValue(ListELResolver.java:51)
         javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
    Plz help for this problem

    This problem doesn't seem to have anything to do with JavaMail.
    You'll probably have better luck in a Struts or JSP forum.

  • JSP Tag example pagehits.jsp NumberFormatException

    I just upgraded my WLS 5.1 to SP4, but when I run the pagehits.jsp
              example, I got the following NumberFormatException. It was fine w/o
              SP4. I am very appreciated if anyone can help me to clarify that.
              Sat Jul 29 12:44:18 PDT 2000:<E> <ServletContext-General> Servlet failed
              with Ex
              ception
              java.lang.NumberFormatException: error=3
              at java.lang.Integer.parseInt(Integer.java, Compiled Code)
              at java.lang.Integer.parseInt(Integer.java:458)
              at weblogic.servlet.jsp.JspStub.compilePage(JspStub.java,
              Compiled Code)
              at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:173)
              at
              weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
              java:187)
              at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:118)
              at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
              textImpl.java:744)
              at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
              textImpl.java:692)
              at
              weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
              ContextManager.java:251)
              at
              weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
              a:363)
              at
              weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,
              Compiled Code)
              

    I just upgraded my WLS 5.1 to SP4, but when I run the pagehits.jsp
              example, I got the following NumberFormatException. It was fine w/o
              SP4. I am very appreciated if anyone can help me to clarify that.
              Sat Jul 29 12:44:18 PDT 2000:<E> <ServletContext-General> Servlet failed
              with Ex
              ception
              java.lang.NumberFormatException: error=3
              at java.lang.Integer.parseInt(Integer.java, Compiled Code)
              at java.lang.Integer.parseInt(Integer.java:458)
              at weblogic.servlet.jsp.JspStub.compilePage(JspStub.java,
              Compiled Code)
              at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:173)
              at
              weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
              java:187)
              at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:118)
              at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
              textImpl.java:744)
              at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
              textImpl.java:692)
              at
              weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
              ContextManager.java:251)
              at
              weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
              a:363)
              at
              weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,
              Compiled Code)
              

  • Problem with String in JSP! Help Me

    Hi all,
    i spent my whole day with this error. How can i solve it. I am trying to convert a string array to Integer array. The program is taking all the select input from the previous JSP page and then converting them into integer array for storing to database. i am catching them as request.getParameterValues(); but i found out that if i select 4 item from the menu it is storing in 8 array cells and the format is if you select 1 2 3 4 the it stores [1 null 2 null 3 null 4 null] i guessed that those are null values. so i have tried to select only 1 2 3 4 from the array and it is showing number format error on tomcat. here is the code guys. Please i am tired of it please help me. Thanks. SORRY I TRIED TO SEPARATE THE CODE BUT IT SEEMS LIKE THERE ARE SOME PROBLEM IN THE FORUM SETTINGS. so the code is:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <%@page import="java.io.*"%>
    <%@page import="java.sql.*"%>
    <%@page import="java.lang.String.*"%>
    <%@page import="java.lang.Character.*"%>
    <%@page import="java.util.*"%>
    <%@page import="java.text.*"%>
    <HTML>
    <HEAD>
    <TITLE> HR ADVANTAGE TIMESHEET </TITLE>
    </HEAD>
    <BODY>
    <%
    String emplno = request.getParameter("emplno");
    String date = request.getParameter("date");
    String proposal = request.getParameter("proposals");
    String network1 = request.getParameter("network");
    String suppassociates = request.getParameter("suppasso");
    String intmngt = request.getParameter("intmgt");
    String client[] = request.getParameterValues("client");
    String client1= request.getParameter("client1");
    String clientunit[] = request.getParameterValues("clientunit");
    String clientunit1=request.getParameter("clientunit1");
    boolean bool=true;
    int staffid = Integer.parseInt(emplno);
    int len=0;
    len=client.length;
    //String[] check_client = new String[len];
    //check_client=client;
    //int check_length=0;
    //check_length=check_client.length;
    //int unitlength=0;
    //unitlength=clientunit.length;
    int arr_length=0;
    arr_length=len-(len/2);
    int[] array = new int[arr_length];
    int j=0;
    j=arr_length;
    for (int i=0; i<len-1; i++)
    bool=true;
    if(client=="\0")
    bool=false;
         if(bool==true)
         array[arr_length-j]=Integer.parseInt(client[i]);
              j=j-1;
              if(j==0)
              break;
    %>
    </BODY>
    </HTML>
    The error is:
    org.apache.jasper.JasperException: For input string: ""
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:367)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    root cause
    java.lang.NumberFormatException: For input string: ""
         java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
         java.lang.Integer.parseInt(Integer.java:489)
         java.lang.Integer.parseInt(Integer.java:518)
         org.apache.jsp.store_jsp._jspService(store_jsp.java:107)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

    what are you trying to test with client [ i ] == "\0"
    You sure you dont need to test against null ?

  • How to fix 'class' or 'interface' expected for jsp

    below is the stack trace
    org.apache.jasper.JasperException: Unable to compile class for JSP
    Generated servlet error:
    /home/sherali/.netbeans/5.5/apache-tomcat-5.5.17_base/work/Catalina/localhost/UVSDataSearch/org/apache/jsp/pager_002ddemo_jsp.java:7: 'class' or 'interface' expected
    import java.util.*;
    ^
    Generated servlet error:
    /home/sherali/.netbeans/5.5/apache-tomcat-5.5.17_base/work/Catalina/localhost/UVSDataSearch/org/apache/jsp/pager_002ddemo_jsp.java:8: 'class' or 'interface' expected
    import java.io.*;
    ^
    2 errors
    thanks a lot in advance.
    my jsp is
    <%@ page session="false" %>
    <%@ page import="tauvex.*;" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.io.*" %>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
    <html>
    <head>
    <title>Tauvex Search Results</title>
    <%
    * Pager Tag Library
    * Copyright (C) 2002 James Klicman <[email protected]>
    * The latest release of this tag library can be found at
    * http://jsptags.com/tags/navigation/pager/
    * This library is free software; you can redistribute it and/or
    * modify it under the terms of the GNU Lesser General Public
    * License as published by the Free Software Foundation; either
    * version 2.1 of the License, or (at your option) any later version.
    * This library is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    * Lesser General Public License for more details.
    * You should have received a copy of the GNU Lesser General Public
    * License along with this library; if not, write to the Free Software
    * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
    %>
    <style type="text/css">
    A.nodec { text-decoration: none; }
    </style>
    </head>
    <body bgcolor="#ffffff">
    <%
    String style = getParam(request, "style", "simple");
    String position = getParam(request, "position", "top");
    String index = getParam(request, "index", "center");
    int maxPageItems = getParam(request, "maxPageItems", 3);
    int maxIndexPages = getParam(request, "maxIndexPages", 3);
    %>
    <%
    String query1=(String)request.getAttribute("query1");
    String query=(String)request.getAttribute("query");
    String ShowFile=(String)request.getAttribute("ShowFile");
    String ShowRA=(String)request.getAttribute("ShowRA");
    String ShowDEC=(String)request.getAttribute("ShowDEC");
    String Telescope=(String)request.getAttribute("Telescope");
    String ObservationDates=(String)request.getAttribute("ObservationDates");
    String Filter=(String)request.getAttribute("Filter");
    String RA=(String)request.getAttribute("RA");
    String DEC=(String)request.getAttribute("DEC");
    String DATE=(String)request.getAttribute("DATE");
    String DATE1=(String)request.getAttribute("DATE1");
    String Radious=(String)request.getAttribute("Radious");
    String FILTER[]=(String[])request.getAttribute("FILTER");
    String OrderBy1=(String)request.getAttribute("OrderBy1");
    String OrderBy2=(String)request.getAttribute("OrderBy2");
    String OrderBy3=(String)request.getAttribute("OrderBy3");
    %>
    <%
    out.println("<form action=\"PlainSQLQuery\" method=POST>");
    out.println("<textarea rows = 5 cols = 40 name=query id=\"query\">");
    out.println(query);
    out.println("</textarea>");
    out.println("<input type = submit value = \"Submit\">");
    out.println("<input type = reset value = \"Reset\">");
    out.println("</form>");
    %>
    <center>
    <table border="0" width="90%" cellpadding="4">
    <tr>
    <td colspan="2" align="left" valign="top">
    <table border="0" cellspacing="2" cellpadding="0">
    <tr><td>Max. Page Items </td>
    <td><input type="text" size="4" name="maxPageItems" value="<%= maxPageItems %>" onChange="this.form.submit();"></td></tr>
    <tr><td>Max. Index Pages </td>
    <td><input type="text" size="4" name="maxIndexPages" value="<%= maxIndexPages %>" onChange="this.form.submit();"></td></tr>
    </table>
    </td>
    </tr>
    </table>
    <pg:pager
    index="<%= index %>"
    maxPageItems="<%= maxPageItems %>"
    maxIndexPages="<%= maxIndexPages %>"
    url="TauvexDataServlet"
    export="offset,currentPageNumber=pageNumber"
    scope="request">
    <%-- keep track of preference --%>
    <pg:param name="style"/>
    <pg:param name="position"/>
    <pg:param name="index"/>
    <pg:param name="maxPageItems"/>
    <pg:param name="maxIndexPages"/>
    <pg:param name="RA"/>
    <pg:param name="DEC"/>
    <pg:param name="DATE"/>
    <pg:param name="DATE1"/>
    <pg:param name="Radious"/>
    <pg:param name="FILTER"/>
    <pg:param name="ShowRA"/>
    <pg:param name="ShowDEC"/>
    <pg:param name="Telescope"/>
    <pg:param name="ObservationDates"/>
    <pg:param name="Filter"/>
    <pg:param name="OrderBy1"/>
    <pg:param name="OrderBy2"/>
    <pg:param name="OrderBy3"/>
    <%-- save pager offset during form changes --%>
    <input type="hidden" name="pager.offset" value="<%= offset %>">
    <%-- warn if offset is not a multiple of maxPageItems --%>
    <% if (offset.intValue() % maxPageItems != 0 &&
    ("alltheweb".equals(style) || "lycos".equals(style)) )
    %>
    <p>Warning: The current page offset is not a multiple of Max. Page Items.
    <br>Please
    <pg:first><a href="<%= pageUrl %>">return to the first page</a></pg:first>
    if any displayed range numbers appear incorrect.</p>
    <% } %>
    <%-- the pg:pager items attribute must be set to the total number of
    items for index before items to work properly --%>
    <% if ("top".equals(position) || "both".equals(position)) { %>
    <br>
    <pg:index>
    <% if ("texticon".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/texticon.jsp" flush="true"/>
    <% } else if ("jsptags".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/jsptags.jsp" flush="true"/>
    <% } else if ("google".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/google.jsp" flush="true"/>
    <% } else if ("altavista".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/altavista.jsp" flush="true"/>
    <% } else if ("lycos".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/lycos.jsp" flush="true"/>
    <% } else if ("yahoo".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/yahoo.jsp" flush="true"/>
    <% } else if ("alltheweb".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/alltheweb.jsp" flush="true"/>
    <% } else { %>
    <jsp:include page="/WEB-INF/jsp/simple.jsp" flush="true"/>
    <% } %>
    </pg:index>
    <% } %>
    <hr>
    <form action="ZipServlet" method="get" name="download" onsubmit="return Form1_Validator(this)">
    <table id="output">
    <CAPTION><EM>Fits file Search Results</EM></CAPTION><tr>
    <%
    out.println("<th>Check Box</th>");
    out.println("<th>File Name</th>");
    if(ShowRA != null && "on".equals(ShowRA))
    out.println("<th>RA_START</th>");
    if(ShowRA != null && "on".equals(ShowRA))
    out.println("<th>RA_END</th>");
    if(ShowDEC != null && "on".equals(ShowDEC))
    out.println("<th>DEC_START</th>");
    if(ShowDEC != null && "on".equals(ShowDEC))
    out.println("<th>DEC_END</th>");
    if(Telescope!=null && "on".equals(Telescope))
    out.println("<th>Telescope</th>");
    if(ObservationDates !=null && "on".equals(ObservationDates))
    out.println("<th>STARTOBS</th>");
    if(ObservationDates !=null && "on".equals(ObservationDates))
    out.println("<th>ENDOBS</th>");
    if(Filter!=null && "on".equals(Filter))
    out.println("<th>FILTER</th>");
    out.println("</tr>");
    %>
    <%--
    <table width="90%" cellspacing="4" cellpadding="4">
    Since the data source is static, it's easy to offset and limit the
    loop for efficiency. If the data set size is not known or cannot
    be easily offset, the pager tag library can count the items and display
    the correct subset for you.
    The following is an example using an enumeration data source of
    unknown size. The pg:pager items and isOffset attributes must
    not be set for this example:
    --%>
    <%
    Enumeration myDataList1 = (Enumeration)request.getAttribute("myDataList1");
    if (myDataList1 == null)
    throw new RuntimeException("myDataList1 is null");
    %>
    <% while (myDataList1.hasMoreElements()) { %>
    <% TauvexData elem = (TauvexData)myDataList1.nextElement(); %>
    <pg:item> <%
    out.println("<tr>");
    %>
    <td><input type= "checkbox" name="cb" value="<%=elem.getDownload()%>"></td>
    <td><a href="<%= elem.getDownload() %>"><%= elem.Fitsfilename %></a></td>
    <%
    // out.println("<td> "+elem.Fitsfilename+" </td>");
    if(ShowRA != null && "on".equals(ShowRA))
    out.println("<td> "+elem.RA_START+" </td>");
    if(ShowRA != null && "on".equals(ShowRA))
    out.println("<td> "+elem.RA_END+"</td>");
    if(ShowDEC != null && "on".equals(ShowDEC))
    out.println("<td> "+elem.DEC_START+" </td>");
    if(ShowDEC != null && "on".equals(ShowDEC))
    out.println("<td> "+elem.DEC_END+" </td>");
    if(Telescope!=null && "on".equals(Telescope))
    out.println("<td> "+elem.telescope+" </td>");
    if(ObservationDates !=null && "on".equals(ObservationDates))
    out.println("<td> "+elem.STARTOBS+" </td>");
    if(ObservationDates !=null && "on".equals(ObservationDates))
    out.println(" <td> "+elem.ENDOBS+" </td>");
    if(Filter!=null && "on".equals(Filter))
    out.println("<td> "+elem.FILTER+" </td>");
    out.println("</tr>");
    %> </pg:item>
    <% } %>
    </table>
    <input type="button" name="CheckAll" value="Check All Boxes" onclick="modify_boxes(true,3)">
    <input type="button" name="UnCheckAll" value="UnCheck All Boxes" onclick="modify_boxes(false,3)">
    <input type="submit" value="Download">
    </form>
    <hr>
    <pg:pages>
    <a href="<%= pageUrl %>"><%= pageNumber %></a>
    </pg:pages>
    <pg:last>
    <a href="<%= pageUrl %>">[ Last >| (<%= pageNumber %>) ]</a>
    </pg:last>
    <% if ("bottom".equals(position) || "both".equals(position)) { %>
    <pg:index>
    <% if ("texticon".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/texticon.jsp" flush="true"/>
    <% } else if ("jsptags".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/jsptags.jsp" flush="true"/>
    <% } else if ("google".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/google.jsp" flush="true"/>
    <% } else if ("altavista".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/altavista.jsp" flush="true"/>
    <% } else if ("lycos".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/lycos.jsp" flush="true"/>
    <% } else if ("yahoo".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/yahoo.jsp" flush="true"/>
    <% } else if ("alltheweb".equals(style)) { %>
    <jsp:include page="/WEB-INF/jsp/alltheweb.jsp" flush="true"/>
    <% } else { %>
    <jsp:include page="/WEB-INF/jsp/simple.jsp" flush="true"/>
    <% } %>
    </pg:index>
    <% } %>
    </pg:pager>
    </center>
    </body>
    </html>
    <%!
    private static int num =1;
    private static String getName(){
    String str="cb";
    str=str+num;
    num++;
    return str ;
    private static final String getParam(ServletRequest request, String name,
    String defval)
    String param = request.getParameter(name);
    return (param != null ? param : defval);
    private static final int getParam(ServletRequest request, String name,
    int defval)
    String param = request.getParameter(name);
    int value = defval;
    if (param != null) {
    try { value = Integer.parseInt(param); }
    catch (NumberFormatException ignore) { }
    return value;
    private static void radio(PageContext pc, String name, String value,
    boolean isDefault) throws java.io.IOException
    JspWriter out = pc.getOut();
    String param = pc.getRequest().getParameter(name);
    out.write("<input type=\"radio\" name=\"");
    out.write(name);
    out.write("\" value=\"");
    out.write(value);
    out.write("\" onChange=\"this.form.submit();\"");
    if (value.equals(param) || (isDefault && param == null))
    out.write(" checked");
    out.write('>');
    %>

    Well, putting all that Java code into a JSP was a bad idea in the first place, just on general design principles. But you've done it in such a way that the result of compiling the JSP is malformed Java code. Frankly I would just throw it away and put the Java code into a servlet or some other Java class, where it belongs.
    But if you're really working in a place where nobody has learned anything since 2003, and you're forced to support that old junk, then I would point out that the error occurs before the place which generates this line:
    import java.util.*;You only need to look at two of the thousand lines of code you posted.

  • Need help on Modifying Jsp Code to establish relationships in iStore.

    I am currently working on iStore an internet enabled product
    from Oracle.
    In iStore one can establish relationships between products like
    cross sell , complimentary, substitute, conflict etc. However at
    the moment only one relationship works i.e: Related. This is
    because this is a bug in iStore. Only the relationship Related
    is defined in the jsp. We have been asked to modify the jsp
    ibeCCtdItemDetail.jsp
    Please find pasted below the jsp which only had the arrays for
    related i.e: relitems and service i.e service have added the
    array complimentary to establish such a relationship and pasted
    the relitems code once again and changed relitems to
    complimentary. I am stuck up on this since the past 2 weeks i
    would appreciate if anybody could help.
    <%@include file="jtfincl.jsp" %>
    <!-- $Header: ibeCCtdItemDetail.jsp 115.24 2001/06/16 15:21:05
    pkm ship $ -->
    <%--
    =================================================================
    ========
    | Copyright (c)2000 Oracle Corporation, Redwood Shores, CA
    | All rights reserved.
    +================================================================
    ===========
    |
    | FILE
    | ibeCCtdItemDetail.jsp - Item Detail display
    |
    | DESCRIPTION
    | Displays Item Detail page. Item's description, long
    description, large
    | image, flexfields, available services, and related items
    are displayed.
    | The list price and best price (selling price) for each of
    the Item's
    | available units of measure is displayed. Displays Add to
    Cart,
    | Express Checkout, Configure buttons (if appropriate).
    |
    | PARAMETERS (SOURCE)
    | party Id IN (RequestCtx) - user's party
    id
    | account Id IN (RequestCtx) - user's
    account id
    | currency code IN (RequestCtx) - currency code
    | item IN (URL) - Item ID
    | section IN (URL) - section ID of
    section we are
    | coming from
    (optional)
    | item IN (pageContext) - Item ID
    | section IN (pageContext) - Section ID
    | qty IN (pageContext) - Quantity
    entered by user
    | uom IN (pageContext) - UOM selected
    by user
    | errorMsg IN (pageContext) - error message
    from buy
    | routing page
    | * pageContext attributes for "item" and "section" are used
    when the URL
    | does not contain valid values for "item" and "section"
    (such as when an
    | error occurred in the buy routing page and the request is
    forwarded
    | back to this page)
    |
    | oneclick_obj OUT (pageContext) - OneClick
    object containing
    | user's
    Express Checkout
    | preferences
    | postingID OUT (pageContext) - Integer
    posting Id, for
    | iMarketing
    integration
    | itemIDs OUT (pageContext) - int[] itemIDs
    on the page
    | (for use by
    postings)
    | numRequested OUT (pageContext) - Integer
    number of postings,
    | for
    iMarketing integration
    | random OUT (pageContext) - Boolean
    whether to randomize
    | posting
    retrieved, for
    | iMarketing
    integration
    | type OUT (HTML form) - "single" (1
    item)
    | item OUT (HTML form) - Item ID
    | refpage OUT (HTML form) -
    "ibeCCtdItemDetail.jsp" plus any
    | parameters
    needed to return
    | to this page
    in case of error.
    | uom OUT (HTML form) - UOM code
    selected by user
    | qty OUT (HTML form) - quantity
    entered by user
    | Add to Cart.x OUT (HTML form) - user clicks
    Add to Cart
    | 1-Click.x OUT (HTML form) - user clicks
    Express Checkout
    | Configure.x OUT (HTML form) - user clicks
    Configure
    |
    | OBJECTS REFERENCED
    | oracle.apps.ibe.catalog.Item
    | oracle.apps.ibe.order.OneClick
    |
    | APIs REFERENCED
    | Item.getItemID() - get Item ID
    | Item.getDescription() - get item description
    | Item.getLongDescription() - get item long description
    | Item.isConfigurable() - whether item has
    configuration UI set up
    | Item.getFlexfields() - get Item flexfield
    prompts and values
    | Item.getRelatedItems() - get related items and
    service items
    | Item.getMediaFileName() - get media based on
    display context
    | OneClick.loadSettingFrDB() - load Express Checkout
    settings for
    | current user
    |
    | JSPs REFERENCED
    | ibeCCtpPostingI.jsp - set iMarketing
    parameters (include)
    | ibeCCtpSetItem.jsp - retreive and set item
    information (include)
    | ibeCCtpItmDspRte.jsp - Item display routing
    page (link)
    | ibeCCtpBuyRoute.jsp - Buy routing
    page (form POST)
    | ibeCCtdSctPath.jsp - Path Traversed
    Display (include)
    | ibeCXpdShowTag.jsp - Express Checkout Tag
    Area (include)
    | ibapstng.jsp - iMarketing integration
    page (include)
    |
    | ADDITIONAL NOTES
    | iMarketing posting ID can be changed by editing file
    ibeCCtpPostingI.jsp
    |
    | HISTORY
    | 08/01/2000 auyu Created.
    | 04/09/2001 auyu Added compile-time include for retrieving
    item
    | information
    |
    +================================================================
    =======--%>
    <%@page import="oracle.apps.ibe.order.*" %>
    <%@page import="oracle.apps.ibe.catalog.*" %>
    <%@page import="oracle.apps.ibe.store.*" %>
    <%@page import="oracle.apps.jtf.displaymanager.*" %>
    <%@page import="oracle.apps.jtf.base.Logger" %>
    <%@page import="oracle.apps.jtf.minisites.*" %>
    <%@include file="ibeCZzpHeader.jsp" %>
    <%@page import="oracle.jdbc.driver.*" %>
    <%@page import="java.sql.*" %>
    <%-- declaration --%>
    <%!
    /* Retrieve parent section ids for a given item.
    * int itemId - Item whose parent section ids will be retrieved
    int getParentSectionId(int itemId)
    int parentSectionId = -1;
    Connection conn = null;
    OraclePreparedStatement stmt = null;
    ResultSet rs = null;
    try {
    BigDecimal minisiteId = RequestCtx.getMinisiteId();
    conn = TransactionScope.getConnection();
    StringBuffer sql = new StringBuffer(400);
    sql.append("select jdsi.section_id ");
    sql.append("from jtf_dsp_section_items jdsi, ");
    sql.append("jtf_dsp_msite_sct_items jdmsi ");
    sql.append("where jdsi.inventory_item_id = ? ");
    sql.append("and jdsi.section_item_id =
    jdmsi.section_item_id ");
    sql.append("and jdmsi.mini_site_id = ? ");
    sql.append("and nvl(jdsi.start_date_active, sysdate) <=
    sysdate ");
    sql.append("and nvl(jdsi.end_date_active, sysdate) >=
    sysdate ");
    sql.append("and nvl(jdmsi.start_date_active, sysdate) <=
    sysdate ");
    sql.append("and nvl(jdmsi.end_date_active, sysdate) >=
    sysdate");
    stmt = (OraclePreparedStatement)conn.prepareStatement
    (sql.toString());
    stmt.setInt(1, itemId);
    stmt.setInt(2, minisiteId.intValue());
    stmt.defineColumnType(1, Types.INTEGER);
    rs = stmt.executeQuery();
    if (rs.next())
    parentSectionId = rs.getInt(1);
    } catch (Exception e1) {
    parentSectionId = -1;
    IBEUtil.log("ibeCCtdItemDetail.jsp",
    "Caught exception while retrieving parent
    section id");
    IBEUtil.log("ibeCCtdItemDetail.jsp", e1.getMessage());
    } finally
    try { if (rs != null) rs.close(); } catch (Exception e2) {}
    try { if (stmt != null) stmt.close(); } catch (Exception
    e2) {}
    try {
    if (conn != null) TransactionScope.releaseConnection
    (conn);
    } catch (Exception e2) {}
    return parentSectionId;
    %>
    <%-- end declaration --%>
    <%@include file="ibeCCtpSetItem.jsp"%>
    <%
    The compile-time inclusion of ibeCCtpSetItem.jsp will declare
    and set
    the following variables:
    boolean bItemLoaded - whether section was
    loaded
    Item lItem - Item
    boolean bItemCanBeOrdered - whether item can be
    ordered
    String[] uomCodes - Item's UOM Codes
    Vector itemSellPriceDisplayVec - vector containing
    item's selling
    prices in formatted
    strings
    Vector itemListPriceDisplayVec - vector containing
    item's list
    prices in formatted
    strings
    int nPriceDefined - number of prices
    defined for the item
    Perform the following actions:
    Set "itemIds" in the PageContext.REQUEST_SCOPE
    Set "item" in PageContext.REQUEST_SCOPE
    Set "section" in PageContext.REQUEST_SCOPE
    MessageManagerInter lMsgMgr =
    Architecture.getMessageManagerInstance();
    pageContext.setAttribute("_pageTitle",
    lMsgMgr.getMessage
    ("IBE_PRMT_CT_PRODUCT_DETAILS"),
    PageContext.REQUEST_SCOPE);
    %>
    <%@ include file="ibeCCtpPostingI.jsp" %>
    <%@ include file="ibeCZzdTop.jsp" %>
    <%@ include file="ibeCZzdMenu.jsp" %>
    <%
    if (bItemLoaded)
    OneClick lOneClickObj;
    String xprTagArea = "", confirmXpr = "";
    String lBuyRoutePage;
    String lSectionPathPage = "";
    int sectid = 0;
    Item[] services = new Item[0];
    Item[] relItems = new Item[0];
    Item[] complimentary = new Item[0];
    ItemFlexfield[] itemFlexfields = new ItemFlexfield[0];
    String lItemImage = "", lItemAddtlInfoFile = "";
    StringBuffer lRef = new StringBuffer("ibeCCtdItemDetail.jsp?
    item=");
    String qty = "", userSelUOM = "";
    String errorMsg = "";
    //--------------- load express checkout preferences ---------
    if (IBEUtil.useFeature("IBE_USE_ONE_CLICK"))
    xprTagArea = DisplayManager.getTemplate
    ("STORE_XPR_TAG_AREA").getFileName();
    if (xprTagArea == null)
    xprTagArea = "";
    confirmXpr = lMsgMgr.getMessage("IBE_PRMT_EXPR_CONFIRM");
    if (RequestCtx.userIsLoggedIn()) {
    //initialize OneClick if user is logged in
    BigDecimal partyId = RequestCtx.getPartyId();
    BigDecimal accountId = RequestCtx.getAccountId();
    lOneClickObj = new OneClick();
    lOneClickObj.loadSettingsFrDB(partyId, accountId);
    } // end user express checkout
    //------------ set "section", lSectionPathPage --------------
    String lSectionId = IBEUtil.nonNull(request.getParameter
    ("section"));
    if (lSectionId.equals(""))
    lSectionId =
    IBEUtil.nonNull((String)pageContext.getAttribute
    ("section", PageContext.REQUEST_SCOPE));
    if(IBEUtil.useFeature("IBE_USE_SECTION_PATH"))
    lSectionPathPage = DisplayManager.getTemplate
    ("STORE_CTLG_SCT_PATH").getFileName();
    try {
    sectid = Integer.parseInt(lSectionId);
    pageContext.setAttribute("section", String.valueOf
    (sectid), PageContext.REQUEST_SCOPE);
    } catch (NumberFormatException e) { }
    if(lSectionPathPage == null)
    lSectionPathPage = "";
    lBuyRoutePage = DisplayManager.getTemplate
    ("STORE_CTLG_BUY_PROCESS_ROUTE").getFileName();
    /* if error and forwarded back to this page, get values
    selected by user */
    qty = IBEUtil.nonNull((String)pageContext.getAttribute
    ("qty", PageContext.REQUEST_SCOPE));
    if (qty.equals(""))
    qty = "1";
    userSelUOM = IBEUtil.nonNull((String)pageContext.getAttribute
    ("uom", PageContext.REQUEST_SCOPE));
    errorMsg = IBEUtil.nonNull((String) pageContext.getAttribute
    ("errorMsg", PageContext.REQUEST_SCOPE));
    //set ref for returning to this page in case of error
    lRef.append(lItem.getItemID());
    if (sectid > 0)
    lRef.append("&section=");
    lRef.append(sectid);
    /* Get Bin Open and Bin Close Images */
    String binOpenImg = "", binCloseImg = "";
    try {
    Media binOpenMedia = DisplayManager.getMedia
    ("STORE_BIN_OPEN_IMAGE", true);
    if (binOpenMedia != null)
    binOpenImg = binOpenMedia.getFileName();
    } catch (MediaNotFoundException mnfe) {}
    if (binOpenImg == null)
    binOpenImg = "";
    try {
    Media binCloseMedia = DisplayManager.getMedia
    ("STORE_BIN_CLOSE_IMAGE", true);
    if (binCloseMedia != null)
    binCloseImg = binCloseMedia.getFileName();
    } catch (MediaNotFoundException mnfe) {}
    if (binCloseImg == null)
    binCloseImg = "";
    /* Get images, additional info, flexfields, related items,
    service items */
    lItemImage = lItem.getMediaFileName
    ("STORE_PRODUCT_LARGE_IMAGE");
    lItemAddtlInfoFile = lItem.getMediaFileName
    ("STORE_PRODUCT_ADDTL_INFO");
    // check for defaulting
    String defaultFromSection = "Y";
    if ("Y".equals(defaultFromSection))
    if (lItemImage == null || lItemAddtlInfoFile == null)
    try {
    int parentSectionId = getParentSectionId
    (lItem.getItemID());
    Section parentSection = Section.load(parentSectionId);
    if (lItemImage == null)
    lItemImage = parentSection.getMediaFileName
    ("STORE_SECTION_SMALL_IMAGE");
    if (lItemAddtlInfoFile == null)
    lItemAddtlInfoFile = parentSection.getMediaFileName
    ("STORE_SECTION_ADDTL_INFO");
    } catch (Exception e) {}
    itemFlexfields = lItem.getFlexfields();
    try {
    services = lItem.getRelatedItems("SERVICE");
    } catch (ItemNotFoundException e) {}
    try {
    relItems = lItem.getRelatedItems("RELATED");
    } catch (ItemNotFoundException e) {}
    try {
    complimentary = lItem.getRelatedItems("COMPLIMENTARY");
    } catch (ItemNotFoundException e) {}
    %>
    <!-- body section -----------------------------------------------
    ------------->
    <table border="0" width="100%">
    <%
    if (IBEUtil.showPosting()) {
    %>
    <!--------- iMarketing integration ----------------->
    <tr><td colspan="4" align="center">
    <% try {
    %>
    <jsp:include page="ibapstng.jsp" flush="true" />
    <% } catch (Throwable e) {
    IBEUtil.log("ibeCCtdItemDetail.jsp", "iMarketing error",
    Logger.ERROR);
    %>
    </td></tr>
    <% } //end iMarketing installed
    %>
    <tr><td> </td>
    <%
    if(!lSectionPathPage.equals(""))
    %>
    <td colspan="4" class="smallLink">
    <jsp:include page="<%=lSectionPathPage%>" flush="true" />
    </td>
    <% }
    %>
    </tr>
    <tr><td valign="top">   </td>
    <!-- center column ------------------------------------------
    ------------->
    <td valign="top" width="70%">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr><td colspan="3">
    <span class="pageTitle"><%=lItem.getDescription()%
    </span></td></tr>
    <tr>
    <% if (lItemImage != null) {
    %>
    <td valign="TOP"><img src="<%=lItemImage%>"></td>
    <td valign="TOP" colspan="2"><%
    =lItem.getLongDescription()%></td>
    <% } else {
    %>
    <td valign="TOP" colspan="3"><%
    =lItem.getLongDescription()%></td>
    <% }
    %>
    </tr>
    <% if (lItemAddtlInfoFile != null) {
    %>
    <tr><td colspan="3"><br>
    <jsp:include page="<%=lItemAddtlInfoFile%>"
    flush="true" />
    </td></tr>
    <% }
    %>
    <tr><td colspan="3"><br></td></tr>
    <%
    for (int i=0; i < itemFlexfields.length; i++)
    String prompt = itemFlexfields.getPrompt();
    String value = itemFlexfields[i].getValue();
    if (value != null && !value.equals(""))
    %>
    <tr>
    <td align="LEFT" width="20%">
    <span class="sectionHeader2"><%=prompt%
       </span></td>
    <td align="LEFT" colspan="2" width="80%"><%=value%
    </td></tr>
    <% }
    if (services.length > 0)
    %>
    <tr><td colspan="3"><br></td></tr>
    <tr><td align="RIGHT" class="sectionHeader1" width="20%">
    <%=lMsgMgr.getMessage("IBE_PRMT_CT_WARRANTIES")%>
    </td>
    <td colspan="2" align="left" class="sectionHeaderBlack"
    width="80%"><hr>
    </td></tr>
    <%
    for(int i=0; i < services.length; i++)
    %>
    <tr>
    <td valign="TOP" class="sectionHeaderBlack"
    width="20%"> </td>
    <td align="left" colspan="2" valign="TOP" width="80%">
    <span class="sectionHeaderBlack">
    <A HREF="<%= DisplayManager.getURL
    (STORE_CTLG_ITM_ROUTE", "item=" + services[i.getItemID()) %>">
    <%=services.getDescription()%></A>
    </span>
    <%=services[i].getLongDescription()%>
    </td>
    </tr>
    <tr>
    <td colspan="3" class="sectionHeaderBlack"> </td>
    </tr>
    <% } //end loop through services
    } // end if services.length > 0
    if (relItems.length > 0) {
    %>
    <tr><td colspan="3"><br></td></tr>
    <tr>
    <td align="RIGHT" class="sectionHeader1" width="20%">
    <%=lMsgMgr.getMessage("IBE_PRMT_CT_REL_PRODUCTS")%>
    </td>
    <td align="left" colspan="2" class="sectionHeaderBlack"
    width="80%"><hr></td>
    </tr>
    <%
    for(int i=0; i < relItems.length; i++)
    %>
    <tr>
    <td valign="TOP" class="sectionHeaderBlack"
    width="20%"> </td>
    <td colspan="2" align="left" valign="TOP"
    width="80%">
    <span class="sectionHeaderBlack">
    <A HREF="<%= DisplayManager.getURL
    ("STORE_CTLG_ITM_ROUTE", "item=" + relItems[i].getItemID()) %>">
    <%=relItems[i].getDescription()%></A>
    </span>
    <%=relItems[i].getLongDescription()%>
    </td>
    </tr>
    <tr>
    <td colspan="3" align="RIGHT"
    class="sectionHeaderBlack"> </td>
    </tr>
    <% } // end loop through related items
    } // end if relItems.length > 0
    %>
    </table>
    </td>
    <%if (complimentary.length > 0) {
    %>
    <tr><td colspan="3"><br></td></tr>
    <tr>
    <td align="RIGHT" class="sectionHeader1" width="20%">
    <%=lMsgMgr.getMessage("IBE_PRMT_CT_REL_PRODUCTS")%>
    </td>
    <td align="left" colspan="2" class="sectionHeaderBlack"
    width="80%"><hr></td>
    </tr>
    <%
    for(int i=0; i < complimentary.length; i++)
    %>
    <tr>
    <td valign="TOP" class="sectionHeaderBlack"
    width="20%"> </td>
    <td colspan="2" align="left" valign="TOP"
    width="80%">
    <span class="sectionHeaderBlack">
    <A HREF="<%= DisplayManager.getURL
    ("STORE_CTLG_ITM_ROUTE", "item=" + complimentary[i].getItemID())
    %>">
    <%=complimentary[i].getDescription()%></A>
    </span>
    <%=complimentary[i].getLongDescription()%>
    </td>
    </tr>
    <tr>
    <td colspan="3" align="RIGHT"
    class="sectionHeaderBlack"> </td>
    </tr>
    <% } // end loop through related items
    } // end if complimentary.length > 0
    %>
    </table>
    </td>
    <!-- right column -------------------------------------------
    ------------->
    <td valign="top" width="20%">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr><td>
    <table border="0" cellpadding="0" cellspacing="0">
    <tr>
    <% if (! binOpenImg.equals("")) {
    %>
    <td><img src="<%=binOpenImg%>"></td>
    <% }
    %>
    <td nowrap class="binHeaderCell" width="100%">
    <%
    if (!lItem.isConfigurable()) {
    %>
    <%=lMsgMgr.getMessage("IBE_PRMT_CT_2_WAYS_TO_SHOP")%>
    <% } else {
    %>
    <%=lMsgMgr.getMessage("IBE_PRMT_CT_CONFIG_PRODUCT")%>
    <% }
    %>
    </td>
    <% if (! binCloseImg.equals("")) {
    %>
    <td><img src="<%=binCloseImg%>"></td>
    <% }
    %>
    </tr>
    </table>
    </td></tr>
    <tr><td class="binColumnHeaderCell">
    <table border="0" cellspacing="1" width="100%">
    <tr><td class="binContentCell" align="CENTER">
    <% /////////////////////////////// error
    messages //////////////////////////////
    if (!errorMsg.equals("")) {
    %>
    <table><tr><td align="center" class="errorMessage">
    <%=errorMsg%>
    </td></tr></table>
    <% }
    /////////////////////////////// display
    form //////////////////////////////////%>
    <!--Javascript for express checkout confirmation-->
    <script language="JavaScript">
    function get_confirmation(form)
    if (confirm("<%=confirmXpr%>" ) ) {
    form.tmpx.name = '1-Click.x';
    form.tmpy.name = '1-Click.y';
    form.submit();
    return true;
    else
    return false;
    </script>
    <form method=POST action="<%=lBuyRoutePage%>">
    <input type=hidden name="type" value="single">
    <input type=hidden name="item" value="<%=lItem.getItemID()%
    "><input type=hidden name="refpage" value="<%=lRef.toString
    ()%>">
    <INPUT TYPE="HIDDEN" NAME="tmpx" VALUE="100">
    <INPUT TYPE="HIDDEN" NAME="tmpy" VALUE="100">
    <%= RequestCtx.getSessionInfoAsHiddenParam() %>
    <%
    if ( ! lItem.isConfigurable())
    { // display prices
    %>
    <table>
    <tr><td align ="left" nowrap>
    <span class="sectionHeaderBlack">
    <%=lMsgMgr.getMessage("IBE_PRMT_CT_LIST_PRICE_COLON")%>
    </span>
    </td>
    <%
    for (int i=0; i < uomCodes.length && i <
    itemListPriceDisplayVec.size(); i++)
    if (uomCodes[i] != null && uomCodes[i].equals
    (lItem.getPrimaryUOMCode()))
    if (itemListPriceDisplayVec.elementAt(i) != null &&
    !itemListPriceDisplayVec.elementAt(i).equals(""))
    %>
    <td align="right">
    <%=itemListPriceDisplayVec.elementAt(i)%
       <%=lItem.getPrimaryUOM()%></td>
    <% } else {
    %>
    <td>   </td>
    <% }
    break;
    } // end primary uomcode
    } // end loop through uoms and list price
    %>
    </tr>
    <tr><td align="left" nowrap>
    <span class="sectionHeaderBlack">
    <%=lMsgMgr.getMessage("IBE_PRMT_CT_YOUR_PRICE_COLON")%>
    </span>
    </td>
    <td>
    <% // display selling price for each uom
    if (nPriceDefined > 1) {
    //prices defined for multiple UOMs for the item
    %>
    <select name = "uom">
    <%
    //--------- loop through uoms and prices ------------------
    for (int i=0; i < itemSellPriceDisplayVec.size() && i <
    uomCodes.length; i++)
    if (itemSellPriceDisplayVec.elementAt(i) != null &&
    !itemSellPriceDisplayVec.elementAt(i).equals(""))
    boolean bSelectUom = false;
    if (uomCodes[i] != null && uomCodes[i].equals
    (lItem.getPrimaryUOMCode()))
    bSelectUom = true;
    if (bSelectUom)
    %>
    <option value="<%=uomCodes[i]%>" SELECTED>
    <% } else {
    %>
    <option value="<%=uomCodes[i]%>">
    <% }
    %>
    <%=itemSellPriceDisplayVec.elementAt(i)%
       <%=IBEUtil.nonNull(lItem.getUOM(uomCodes))%
    <%
    } // end current uom has price
    } //end loop i through uoms and prices
    %>
    </select>
    <% //end more than 1 UOM with price defined for the item
    } else {
    if (nPriceDefined == 0) { //multiple UOMs, none with
    price defined
    %>
    <input type=hidden name="uom" value="<%
    =lItem.getPrimaryUOMCode()%>">
    <% } else { // 1 UOM with price defined
    String formatSellPrice = "";
    String uomWithPrice = "";
    for (int i=0; i < uomCodes.length && i <
    itemSellPriceDisplayVec.size(); i++)
    if (itemSellPriceDisplayVec.elementAt(i) != null &&
    !itemSellPriceDisplayVec.elementAt(i).equals(""))
    formatSellPrice = (String)
    itemSellPriceDisplayVec.elementAt(i);
    uomWithPrice = uomCodes;
    break;
    %>
    <input type=hidden name="uom" value="<%=uomWithPrice%>">
    <%=formatSellPrice%>   <%=IBEUtil.nonNull
    (lItem.getUOM(uomWithPrice))%>
    <% } //end 1 UOM with price defined
    } // end display selling prices
    %>
    </td></tr></table> <%-- end table for the price --%>
    <% } // end non-configurable item
    if (bItemCanBeOrdered)
    // show quantity and buttons only if item can be ordered
    %>
    <p><%=lMsgMgr.getMessage("IBE_PRMT_CT_QUANTITY")%>
    <input type="TEXT" name="qty" size="3" maxlength="20"
    value="<%=qty%>">
    </p>
    <% if (lItem.isConfigurable()) {
    %>
    <p>
    <input type=hidden name="uom" value="<%
    =lItem.getPrimaryUOMCode()%>">
    <input type=submit name="Configure.x"
    value="<%=lMsgMgr.getMessage("IBE_PRMT_CT_CONFIGURE")%
    "></p>
    <% } else {
    %>
    <p>
    <input type=submit name="Add to Cart.x"
    value="<%=lMsgMgr.getMessage
    ("IBE_PRMT_ADD_TO_CART_PRMT_G")%>">
    </p>
    <%
    if (!xprTagArea.equals(""))
    %>
    <p><%=lMsgMgr.getMessage("IBE_PRMT_CT_OR")%></p>
    <p><jsp:include page="<%=xprTagArea%>"
    flush="true" /></p>
    <% }
    } // end item can be ordered
    %>
    <br>
    </form>
    </td></tr></table> <%-- end table for bin content and
    header --%>
    </td></tr></table>
    <p> </p>
    <p> </p>
    </td></tr></table> <%-- end page table --%>
    <% } // end item loaded
    %>
    <%@ include file="ibeCZzdBottom.jsp" %>
    <!-- ibeCCtdItemDetail.jsp end -->

    my bad...didnt think anyone was gonna come in ...lol......nothing populates in the second drop down...I was thinking of making a separate page and just pass the parameter in, bu i never used jsp include.....any suggestions on how to get this thing working??

  • 4/3 matrix shape in calandar in jsp

    i created the jsp page to view the calander,
    but i am getting output as the 12 months coming vertically
    i need it to b cum in 3/4 or 4/3 matrix shape
    here is my code
    <%@page import="java.util.*,java.text.*" %>
    <html>
    <head>
    <title>Print a month page.</title>
    <meta name="version"
    </head>
    <body bgcolor="white">
    <%     
         boolean yyok = false;
         int yy = 0, mm = 0;
         String yyString = request.getParameter("year");
         if (yyString != null && yyString.length() > 0)
         try
            yy = Integer.parseInt(yyString);
             yyok = true;
         catch (NumberFormatException e)
         out.println("Year " + yyString + " invalid");
    Calendar c = Calendar.getInstance( );
    if (!yyok)yy = c.get(Calendar.YEAR);   
    mm = c.get(Calendar.MONTH);
    %>
    <form method=post action="CalendarPage.jsp">
    Enter Year : <input type="text" size="5" name="year" value="<%= yy %>"></input>
    <input type=submit value="Display"></form>
    <%!
    String[] months = {
                     "January", "February", "March",
                     "April","May", "June",
                     "July", "August","September",
                     "October", "November", "December"
    int dom[] = {
               31, 28, 31, 30,
               31, 30, 31, 31,
               30, 31, 30, 31
    %>
    <%
    int leadGap = 0;
    %>
    <table border="1" width="250" align="Left">
    <div>
    <tr>
    <td halign="top" colspan="2">
    </div>
    <%
    GregorianCalendar calendar =null;
    for(int j=0;j<12;j++)
      calendar = new GregorianCalendar(yy, j, 1);     
    %>
    <tr align="right">
    <th colspan=7>
    <%= months[j] %>
    <%= yy %>
    </tr>
    <tr>
    <div>
    <td>Sun<td>Mon<td>Tue<td>Wed<td>Thu<td>Fri<td>Sat</tr>
    <%
         leadGap = calendar.get(Calendar.DAY_OF_WEEK)-1;
         int daysInMonth = dom[j];
         if (calendar.isLeapYear(calendar.get(Calendar.YEAR)) && j == 1)
         ++daysInMonth;
         out.print("<tr>");  
         out.println(" ");
         for (int i = 0; i < leadGap; i++)
          out.print("<td> ");
          for (int i = 1; i <= daysInMonth; i++)
          out.print("<td>");         
    %>
        <%=i%>
    </div>
    <%
          out.print("</td>"); 
         if ((leadGap + i) % 7 == 0)
           out.println("</tr>");
    %>
    </tr>
    </table>
    </html>
    and here is my output
    Enter Year :
    January 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31
    February 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28
    March 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31
    April 2006
    Sun Mon Tue Wed Thu Fri Sat
    1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30
    May 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5 6
    7 8 9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30 31
    June 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30
    July 2006
    Sun Mon Tue Wed Thu Fri Sat
    1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31
    August 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31
    September 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    October 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31
    November 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30
    December 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    31
    i need it to be in matrix form
    if anyone knows tel me plzz
    jose

    First comment: yuck. Ugly scriptlet code mixed in with HTML tags.
    A developers nightmare.
    a few more constructive comments:
    you can get the number of days in the month directly from the calendar:
    You can use calendar.getActualMaximum(Calendar.DATE) which will tell you the last day of the current month. That takes leap years into account as well. Check out the java.util.Calendar API for details.
    That will let you simplify your code a little.
    Next thing. From a purist point of view you should always close your tags. So if you have <td> then it should be followed by </td>
    Yes it might work, but it is much better to do things properly.
    Now on to your actual problem.
    What I would suggest is that you do a complete table for each month.
    ie get it generating like this.
    <table>
    ... january ....
    1 2 3...
    </table>
    <table>
    ... feb ...
    </table>
    Then you just use another table to lay them out by rows/columns.
    ie
    <table>
    <tr><td> <table> (Jan) </table></td> <td> <table> (Feb) </table> </td> ...

  • Calander in jsp

    hi to all,
    i am creating a calander in jsp
    in my calander page in shows 12 months as a line
    but i want it in matrix shape like 3/4 or 4/3
    here is my code
    <%@page import="java.util.*,java.text.*" %>
    <html>
    <head>
    <title>Print a month page.</title>
    <meta name="version"
    </head>
    <body bgcolor="white">
    <%     
                     boolean yyok = false;
              int yy = 0, mm = 0;
              String yyString = request.getParameter("year");
              if (yyString != null && yyString.length() > 0)
           try
            yy = Integer.parseInt(yyString);
                     yyok = true;
          catch (NumberFormatException e)
          out.println("Year " + yyString + " invalid" );
              Calendar c = Calendar.getInstance( );
              if (!yyok)yy = c.get(Calendar.YEAR);   
              mm = c.get(Calendar.MONTH);
    %>
    <form method=post action="CalendarPage.jsp">
    Enter Year : <select name="year">
                   <%          
          for(int i=2000;i<=2010;i++)
                   %><OPTION VALUE=<%=i%>><%=i%>
         <%            } %>
              </select>
         <input type=submit value="Display"></form>
    <%!
    String[] months =     {
                                   "January",
                                    "February",
                                    "March",
                                    "April",
                                    "May",
                                    "June",
                                    "July",
                                    "August",
                                    "September",
                                    "October",
                                    "November",
                                    "December"
    int dom[] =            {
               31, 28, 31, 30,
               31, 30, 31, 31,
               30, 31, 30, 31
    %>
    <%
              int leadGap = 0;
    %>
    <table border="4" width="250" align="center">
    <div>
    <tr>
    <td halign="top" colspan="2">
    </div>
    <%
         GregorianCalendar calendar =null;
         for(int j=0;j<12;j++)
                 calendar = new GregorianCalendar(yy, j, 1);     
    %>
         <tr align="center">
         <th colspan=7>
         <%= months[j] %>
         <%= yy %>
         </tr>
         <tr>
         <div>
         <td>Sun<td>Mon<td>Tue<td>Wed<td>Thu<td>Fri<td>Sat
         </tr>
    <%
         leadGap = calendar.get(Calendar.DAY_OF_WEEK)-1;
         int daysInMonth = dom[j];
         if (calendar.isLeapYear(calendar.get(Calendar.YEAR)) && j == 1)
         ++daysInMonth;
         out.print("<tr>");  
         out.println(" ");
         for (int i = 0; i < leadGap; i++)
          out.print("<td> ");
          for (int i = 1; i <= daysInMonth; i++)
          out.print("<td>");         
    %>
             <%=i%>
    </div>
    <%
          out.print("</td>"); 
           if ((leadGap + i) % 7 == 0)
                out.println("</tr>");
    %>
         </tr>
                 </table>
         </html>
    and this is my output
    Enter Year : 20002001200220032004200520062007200820092010
    January 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31
    February 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28
    March 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31
    April 2006
    Sun Mon Tue Wed Thu Fri Sat
    1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30
    May 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5 6
    7 8 9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30 31
    June 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30
    July 2006
    Sun Mon Tue Wed Thu Fri Sat
    1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31
    August 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31
    September 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    October 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31
    November 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30
    December 2006
    Sun Mon Tue Wed Thu Fri Sat
    1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    31
    plz help me to get this is matrix shape
    if anyone has sample program means send me

    You are mixing divs and tables and you are using invalid HTML syntax. Strip the divs from the source to begin with.

  • Assigning a URI to a jsp client

    Hi
    I am trying to proxy a message from my OC client to a jsp client. My proxy servlet registers the URI I am supposed to fwd my message to.
    I am not sure if I can assign a URI to my jsp client, and if yes, how?
    If not, is there any other way for me to proxy it? I have been able to proxy stuff to an OC client, based on the sip addess, eg. sip:[email protected]:5064; by configuring the sip.xml and using "proxy.proxyTo(xxxxx)"
    Some of my code is as follows...
    ***************ProxyServlet code***********************
    package oracle.sdp.proxy;
    import java.io.IOException;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.sip.Proxy;
    import javax.servlet.sip.SipFactory;
    import javax.servlet.sip.SipServlet;
    import javax.servlet.sip.SipServletRequest;
    import javax.servlet.sip.SipServletResponse;
    import javax.servlet.sip.URI;
    @SuppressWarnings("serial")
    public class ProxyServlet extends SipServlet
         private URI mForwardUri;
         private URI mForwardUri1;
         private URI mForwardUri2;
         private SipFactory getSipFactory() {
         return (SipFactory) getServletContext()
         .getAttribute(SipServlet.SIP_FACTORY);
         protected void doMessage(SipServletRequest request) throws ServletException,IOException
         log("Received: " + request.getMethod() + " Content: "+ request.getContent());
         try
              ServletConfig config = getServletConfig();
              String forwardUri = config.getInitParameter("forwardAddress");
              mForwardUri = getSipFactory().createURI(forwardUri);
              String forwardUri1 = config.getInitParameter("forwardAddress1");
              mForwardUri1 = getSipFactory().createURI(forwardUri1);
              String forwardUri2 = config.getInitParameter("forwardAddress2");
              mForwardUri2 = getSipFactory().createURI(forwardUri2);
         catch (NumberFormatException e)
         try
         Proxy proxy = request.getProxy();
         proxy.cancel();
         SipServletResponse resp = proxy.getOriginalRequest().createResponse(SipServletResponse.SC_CALL_BEING_FORWARDED, "Forward message to " + mForwardUri);
         resp.send();
         proxy.proxyTo(mForwardUri);//this forwards to OC1 client
         proxy.proxyTo(mForwardUri1);//this forwards to OC2 client
         proxy.proxyTo(mForwardUri2);//this forwards to FinalMessage.java, which is a Recepient servlet
              request.getSession().getApplicationSession().invalidate();
         catch (java.io.IOException ioe)
         log("Failed to send response", ioe);
    ********sip.xml for proxyservlet*********************
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sip-app
    PUBLIC "-//Java Community Process//DTD SIP Application 1.0//EN"
    "http://www.jcp.org/dtd/sip-app_1_0.dtd">
    <sip-app>
         <display-name>SIP Servlet Application</display-name>
    <servlet>
    <servlet-name>ProxyServlet</servlet-name>
    <servlet-class>
    oracle.sdp.proxy.ProxyServlet
    </servlet-class>
    <init-param>
    <param-name>forwardAddress</param-name>
    <param-value>sip:[email protected]:5064</param-value>
    </init-param>
    <init-param>
    <param-name>forwardAddress1</param-name>
    <param-value>sip:[email protected]:5062</param-value>
    </init-param>
    <init-param>
    <param-name>forwardAddress2</param-name>
    <param-value>sip:@127.0.0.1:5060;transport=tcp;appId=FinalMessage</param-value>
    </init-param>
    <load-on-startup/>
    </servlet>
    <servlet-mapping>
    <servlet-name>ProxyServlet</servlet-name>
    <pattern>
    <equal>
    <var>request.method</var>
    <value>MESSAGE</value>
    </equal>
    </pattern>
    </servlet-mapping>
    </sip-app>
    Please guide me.
    Thanks,
    A

    The URI has to be of the form
    sip:127.0.0.1;transport=xxxx;appId=xxx;
    This solved the issue.

  • Error in JSF  - java.lang.NumberFormatException: For input string:

    Nice day friends,
    I am sure that this is one stupid question by newbie like me, but I already lost hope since there no many post on this error especially in JSF at Google.
    Here the full error I've got :
    executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@12bb287) threw exception
    java.lang.NumberFormatException: For input string: "id"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:447)
    at java.lang.Integer.parseInt(Integer.java:497)
    at javax.el.ListELResolver.toInteger(ListELResolver.java:373)
    at javax.el.ListELResolver.getValue(ListELResolver.java:167)
    Here my snippet of code :
    NationalityDO.java (managed bean)
    public class NationalityDO implements Serializable {
    @Id
    @Column(name = "ID", nullable = false)
    private String id;
    private List nationalityList;
    public NationalityDO() {
    public NationalityDO(String id) {
    this.id = id;
    public String getId() {
    return this.id;
    public void setId(String id) {
    this.id = id;
    public List getNationalityList(){
    NationalityDA da=new NationalityDA();
    if(nationalityList==null){
    System.out.println("if(nationalityList==null)");
    try {
    nationalityList=da.retrieveNationalityList();
    } catch (Exception ex) {
    ex.printStackTrace();
    return nationalityList;
    public void setNationalityList(){
    this.nationalityList=nationalityList;
    This is my NationalityDA (used to retrieve data)
    public class NationalityDA {
    public NationalityDA() {
    public List retrieveNationalityList() throws Exception{
    ArrayList ls=new ArrayList();
    Connection con = null;
    PreparedStatement ps = null;
    ResultSet rsReturn = null;
    try {
    con = DBManager.getDBConnection();
    String sql="select id,descr,setup_date,change_date from nationality order by id asc" ;
    ps = con.prepareStatement(sql);
    rsReturn = ps.executeQuery();
    while(rsReturn.next()){
    List lsNationality =new ArrayList();
    lsNationality.add(rsReturn.getString(1));//id
    lsNationality.add(rsReturn.getString(2));//descr
    ls.add(lsNationality);
    } catch(SQLException sqlex) {
    sqlex.printStackTrace();
    } finally {
    con.close();
    ps.close();
    return ls;
    Here my nationality.jsp
    <h:dataTable value='#{nationality.nationalityList}' var='item' border="1" cellpadding="2" cellspacing="0">
    <h:column>
    <f:facet name="header">
    <h:outputText value="Id"/>
    </f:facet>
    <h:outputText value="#{item.id}"/>
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="Descr"/>
    </f:facet>
    <h:outputText value="#{item.descr}"/>
    </h:column>
    </h:dataTable>
    Here my face-config.xml
    <managed-bean>
    <managed-bean-name>nationality</managed-bean-name>
    <managed-bean-class>com.dataobject.nationality.NationalityDO</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
    <navigation-case>
    <from-outcome>success</from-outcome>
    <to-view-id>/nationality/testNationality.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>fail</from-outcome>
    <to-view-id>/nationality/testNationality.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    For your information, the retrieve of data work successfully, this is the table description in oracle database which is varchar for id,
    SQL> desc nationality
    Name Null? Type
    ID NOT NULL VARCHAR2(4)
    DESCR VARCHAR2(20)
    SETUP_DATE TIMESTAMP(6)
    CHANGE_DATE TIMESTAMP(6)
    *If you feel that I should improve my writing in forum, I am really happy to know
    Thanks,
    unid

    thanks....
    Actually I already view the site many times before but after you told me then I get the idea,that's y working together is better, because i sometimes won't realize my mistake even it was the easiest one...
    So i just change my code in NationalityDA.java as
    while(rsReturn.next()){
    NationalityDO n=new NationalityDO();
    n.setId(rsReturn.getString(1));
    System.out.println("rsReturn.getString(1)"+ rsReturn.getString(1));
    n.setDescr(rsReturn.getString(2));
    System.out.println("rsReturn.getString(2)"+ rsReturn.getString(2));
    n.setSetupDate(rsReturn.getDate(3));
    System.out.println("rsReturn.getString(3)"+ rsReturn.getString(3));
    n.setChangeDate(rsReturn.getDate(4));
    System.out.println("rsReturn.getString(4)"+ rsReturn.getString(4));
    ls.add(n);
    Once again, thanks..and my 3 dukes are yours..
    -unid

  • A very strange error in a JSP FILE

    Hi...
    I have written the following code..
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <%@page language="java" import="java.lang.*" %>
    <html>
    <head>
    <title>Second Page</title>
    </head>
    <body>
    <%!
         class myclass
              public Integer myfunc(String Accept_String,Integer no)
                        int start=0;
                        int end=0;
                        String Arr=new String("dummy");
                        int main_index=0;
                        int sub_index=0;
                        Integer[][] i=new Integer[20][];
                        for(int k=0;k<19;k++)
                        i[k]=new Integer[2];
                        int toggle=1;
                        do
                             if(toggle==1)
                                  {end=Accept_String.indexOf(" ",start);
                                  toggle=0;}
                             else
                                  {end=Accept_String.indexOf(",",start);
                                  toggle=1;}
                             if(end!=-1)
                                  Arr=Accept_String.substring(start,end);
                             else
                                  Arr=Accept_String.substring(start,Accept_String.length());
                             start=end+1;
                             i[main_index][sub_index]=Integer.parseInt(Arr);
                             sub_index=sub_index+1;
                             if(sub_index==2)
                                  sub_index=0;
                                  main_index=main_index+1;
                        }while(start!=0);
                        return i[0][0];
    %>
    <FORM NAME="FORM2" method="post" >
    <jsp:useBean id="id1" class="pack.dummy" />
    <% id1.setString(request.getParameter("Hidden_Text"));
    String r=new String("");
    Integer n=new Integer(0);
    Integer sep= new Integer(0);
    //for(int j=0;j<9;j++)
    //sep[j]=new Integer[2];
    r =id1.getTemp();
    out.print(r);
    n=id1.getNumber();
    out.println(n);
    myclass m=new myclass();
    sep=m.myfunc(r,n);
    out.println(sep);
    %>
    </FORM>
    </body>
    </html>
    And it gives me the following report
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Exception in JSP: /second.jsp:81
    78: out.println(n);
    79:
    80: myclass m=new myclass();
    81: sep=m.myfunc(r,n);
    82: out.println(sep);
    83: %>
    84:
    Stacktrace:
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause
    java.lang.NumberFormatException: For input string: ""
         java.lang.NumberFormatException.forInputString(Unknown Source)
         java.lang.Integer.parseInt(Unknown Source)
         java.lang.Integer.parseInt(Unknown Source)
         org.apache.jsp.second_jsp$myclass.myfunc(second_jsp.java:49)
         org.apache.jsp.second_jsp._jspService(second_jsp.java:134)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Actually there is a problem somewhere in this file itself..
    Can anybody help me out?

    Wow, this is absolutely incredible... you try to parse an empty String to an int and it throws an exception... I'd never have thought.

  • How to convert this Servlet into JSP

    I am trying to convert this Servlet into JSP page.
    How do I go about doing this?
    Thanks.
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    import java.text.*;
    /** Shows all items currently in ShoppingCart. Clients
    * have their own session that keeps track of which
    * ShoppingCart is theirs. If this is their first visit
    * to the order page, a new shopping cart is created.
    * Usually, people come to this page by way of a page
    * showing catalog entries, so this page adds an additional
    * item to the shopping cart. But users can also
    * bookmark this page, access it from their history list,
    * or be sent back to it by clicking on the "Update Order"
    * button after changing the number of items ordered.
    * <P>
    * Taken from Core Servlets and JavaServer Pages 2nd Edition
    * from Prentice Hall and Sun Microsystems Press,
    * http://www.coreservlets.com/.
    * &copy; 2003 Marty Hall; may be freely used or adapted.
    public class OrderPage extends HttpServlet {
    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
    HttpSession session = request.getSession();
    ShoppingCart cart;
    synchronized(session) {
    cart = (ShoppingCart)session.getAttribute("shoppingCart");
    // New visitors get a fresh shopping cart.
    // Previous visitors keep using their existing cart.
    if (cart == null) {
    cart = new ShoppingCart();
    session.setAttribute("shoppingCart", cart);
    String itemID = request.getParameter("itemID");
    if (itemID != null) {
    String numItemsString =
    request.getParameter("numItems");
    if (numItemsString == null) {
    // If request specified an ID but no number,
    // then customers came here via an "Add Item to Cart"
    // button on a catalog page.
    cart.addItem(itemID);
    } else {
    // If request specified an ID and number, then
    // customers came here via an "Update Order" button
    // after changing the number of items in order.
    // Note that specifying a number of 0 results
    // in item being deleted from cart.
    int numItems;
    try {
    numItems = Integer.parseInt(numItemsString);
    } catch(NumberFormatException nfe) {
    numItems = 1;
    cart.setNumOrdered(itemID, numItems);
    // Whether or not the customer changed the order, show
    // order status.
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String title = "Status of Your Order";
    String docType =
    "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
    "Transitional//EN\">\n";
    out.println(docType +
    "<HTML>\n" +
    "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" +
    "<BODY BGCOLOR=\"#FDF5E6\">\n" +
    "<H1 ALIGN=\"CENTER\">" + title + "</H1>");
    synchronized(session) {
    List itemsOrdered = cart.getItemsOrdered();
    if (itemsOrdered.size() == 0) {
    out.println("<H2><I>No items in your cart...</I></H2>");
    } else {
    // If there is at least one item in cart, show table
    // of items ordered.
    out.println
    ("<TABLE BORDER=1 ALIGN=\"CENTER\">\n" +
    "<TR BGCOLOR=\"#FFAD00\">\n" +
    " <TH>Item ID<TH>Description\n" +
    " <TH>Unit Cost<TH>Number<TH>Total Cost");
    ItemOrder order;
    // Rounds to two decimal places, inserts dollar
    // sign (or other currency symbol), etc., as
    // appropriate in current Locale.
    NumberFormat formatter =
    NumberFormat.getCurrencyInstance();
    // For each entry in shopping cart, make
    // table row showing ID, description, per-item
    // cost, number ordered, and total cost.
    // Put number ordered in textfield that user
    // can change, with "Update Order" button next
    // to it, which resubmits to this same page
    // but specifying a different number of items.
    for(int i=0; i<itemsOrdered.size(); i++) {
    order = (ItemOrder)itemsOrdered.get(i);
    out.println
    ("<TR>\n" +
    " <TD>" + order.getItemID() + "\n" +
    " <TD>" + order.getShortDescription() + "\n" +
    " <TD>" +
    formatter.format(order.getUnitCost()) + "\n" +
    " <TD>" +
    "<FORM>\n" + // Submit to current URL
    "<INPUT TYPE=\"HIDDEN\" NAME=\"itemID\"\n" +
    " VALUE=\"" + order.getItemID() + "\">\n" +
    "<INPUT TYPE=\"TEXT\" NAME=\"numItems\"\n" +
    " SIZE=3 VALUE=\"" +
    order.getNumItems() + "\">\n" +
    "<SMALL>\n" +
    "<INPUT TYPE=\"SUBMIT\"\n "+
    " VALUE=\"Update Order\">\n" +
    "</SMALL>\n" +
    "</FORM>\n" +
    " <TD>" +
    formatter.format(order.getTotalCost()));
    String checkoutURL =
    response.encodeURL("../Checkout.html");
    // "Proceed to Checkout" button below table
    out.println
    ("</TABLE>\n" +
    "<FORM ACTION=\"" + checkoutURL + "\">\n" +
    "<BIG><CENTER>\n" +
    "<INPUT TYPE=\"SUBMIT\"\n" +
    " VALUE=\"Proceed to Checkout\">\n" +
    "</CENTER></BIG></FORM>");
    out.println("</BODY></HTML>");
    }

    Sorry.
    actually this is my coding on the bottom.
    Pleease disregard my previous coding. I got the different one.
    My first approach is using <% %> around the whole doGet method such as:
    <%
    String[] ids = { "hall001", "hall002" };
    setItems(ids);
    setTitle("All-Time Best Computer Books");
    out.println("<HR>\n</BODY></HTML>");
    %>
    I am not sure how to break between code between
    return;
    and
    response.setContentType("text/html");
    Here is my coding:
    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException
         String[] ids = { "hall001", "hall002" };
         setItems(ids);
         setTitle("All-Time Best Computer Books");
    if (items == null) {
    response.sendError(response.SC_NOT_FOUND,
    "Missing Items.");
    return;
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String docType =
    "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
    "Transitional//EN\">\n";
    out.println(docType +
    "<HTML>\n" +
    "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" +
    "<BODY BGCOLOR=\"#FDF5E6\">\n" +
    "<H1 ALIGN=\"CENTER\">" + title + "</H1>");
    CatalogItem item;
    for(int i=0; i<items.length; i++) {
    out.println("<HR>");
    item = items;
    if (item == null) {
    out.println("<FONT COLOR=\"RED\">" +
    "Unknown item ID " + itemIDs[i] +
    "</FONT>");
    } else {
    out.println();
    String formURL =
    "/servlet/coreservlets.OrderPage";
    formURL = response.encodeURL(formURL);
    out.println
    ("<FORM ACTION=\"" + formURL + "\">\n" +
    "<INPUT TYPE=\"HIDDEN\" NAME=\"itemID\" " +
    " VALUE=\"" + item.getItemID() + "\">\n" +
    "<H2>" + item.getShortDescription() +
    " ($" + item.getCost() + ")</H2>\n" +
    item.getLongDescription() + "\n" +
    "<P>\n<CENTER>\n" +
    "<INPUT TYPE=\"SUBMIT\" " +
    "VALUE=\"Add to Shopping Cart\">\n" +
    "</CENTER>\n<P>\n</FORM>");
    out.println("<HR>\n</BODY></HTML>");

  • Problem in compiling JSP(JSPG0059E)

    Hi
    I have 2 JSPs navleft.jsp and navSupplier.JSP
    In my navLeft scrpitlet I have
    boolean disputeSubLinks = PppNavigator.openDisputeSubLinks(amtAction);
    and in navSupplier.JSP i use this value
    <% if (disputeSubLinks) { %>
    <%@ include file="navSupplierDisputeSubLinks.jsp" %>
    <% } %>
    the problem is quite crazy if the D in disputeSubLinks is in caps it compiles and if I make it small at both places it throws an exception
    Kindly can anybody help??
    I am putting the stack trace here:
    Error Message: JSPG0059E: Unable to compile class for JSP
    Error Code: 500
    Target Servlet: null
    Error Stack:
    java.lang.NumberFormatException: H
    at java.lang.Integer.parseInt(Integer.java:406)
    at java.lang.Integer.parseInt(Integer.java:455)
    at org.apache.jasper.compiler.Compiler.getJspLineErrors(Compiler.java:472)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:313)
    at org.apache.jasper.runtime.JspServlet.loadJSP(JspServlet.java:697)
    at org.apache.jasper.runtime.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:244)
    at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:261)
    at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:430)
    at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:565)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
    at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
    at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
    at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
    at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
    at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
    at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:523)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:282)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:112)
    at financing.framework.controller.MainServlet.service(MainServlet.java:66)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
    at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
    at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
    at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
    at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
    at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
    at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:523)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:282)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:112)
    at com.ibm.servlet.engine.webapp.InvokerServlet.service(InvokerServlet.java:267)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
    at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
    at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
    at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
    at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
    at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
    at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:523)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:282)
    at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:112)
    at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:91)
    at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:184)
    at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
    at com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:106)
    at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:125)
    at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
    at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
    at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)
    at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)
    at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)

    Hi
    I found something vague tell me if i am correct??
    The problem in my .java of the JSP was that I had missed changing the name of the variable at one place and my javac gives an error something like this.
    test.java:5: cannot resolve symbol
    symbol : variable i
    location: class test
    i=4;
    ^
    1 error
    I think the jasper compiler tries to get the line numbers in the errors given by javac to map it to appropriate line numbers in .jsp file.This line number is found betn 2 colons(eg 5 above).But this missing variable causes 2 more lines to be printed with colons.Can it be the problem??
    Thanks

  • Using simple functions in JSP

    Hi to all,
    I would to use simple functions in my jsp page.
    I 've created the function with the tags <%! ... %>
    My problem is that i don't succed to call there from the page.
    How i can to do ?
    I've tried also with java beans but i'm not very clever with there also so i don't can to go forward !!!
    Please help me. thanks

    Hi, a new problem rises now.
    the problem is into the method ctr_data().
    Under i put the jsp code and the error:
    Anyone can see where is the error please?
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@page import= "java.sql.*,  java.lang.*" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <title>Progetto Sofia - Registrazione utente</title>
    </head>
    <%!
    public boolean ctr_lunghezza(String s1){
        if (s1.length() == 0) return false;
        return true;
    %>
    <%!
    public boolean isLeapYear(int year) {
           if (year%400 == 0)  return true;
           if ((year%4 == 0) && (year%100 != 0))return true;
           return false;
    %>
    <%!
    public boolean ctr_data (String gg, String mm, String aa){
        int anno = Integer.valueOf(aa).intValue();
        int mese = Integer.valueOf(mm).intValue();
        int giorno = Integer.valueOf(gg).intValue();
        if ((gg.length() == 0) || (mm.length() == 0) || (aa.length() == 0))
            return false;
        if ((anno < 1905) || (anno > 2005))
            return false;
        if (mese == 2){
            if (isLeapYear(anno)){
                if (giorno > 29) return false;
            }else{
                if (giorno > 28) return false;
        if ((mese == 11) || (mese == 4) || (mese == 6) || (mese == 9)){
            if (giorno == 31) return false;
        return true;
    %>
    <%
    int flag = 0;
    String risposta = "";
    String temp ="";
    temp = (request.getParameter("nome_utente")!=null)?request.getParameter("nome_utente") :"";
    if (ctr_lunghezza (temp) == false){
       risposta = risposta.concat("Attenzione --- Riempire il campo: Nome\n");
       flag++;
    temp = (request.getParameter("cognome_utente")!=null)?request.getParameter("cognome_utente"):"";
    if (!ctr_lunghezza (temp)){
        risposta = risposta.concat("Attenzione --- Riempire il campo: Cognome\n");
        flag++;
    String gg1 = (request.getParameter("giorno_n_utente")!=null)?request.getParameter("giorno_n_utente"):"0";
    String mm1 = (request.getParameter("mese_n_utente")!=null)?request.getParameter("mese_n_utente"):"0";
    String aa1 = (request.getParameter("anno_n_utente")!=null)?request.getParameter("anno_n_utente"):"0";
    if (!ctr_data(gg1, mm1, aa1)){
        risposta = risposta.concat("Attenzione --- Data di nascita non corretta\n");
        flag++;
    temp = (request.getParameter("luogo_n_utente")!=null)?request.getParameter("luogo_n_utente"):"";
    if (!ctr_lunghezza (temp)){
        risposta = risposta.concat("Attenzione --- Riempire il campo: Luogo di nascita\n");
        flag++;
    temp = (request.getParameter("res_utente")!=null)?request.getParameter("res_utente"):" ";
    if (temp == "Seleziona"){
        risposta = risposta.concat("Attenzione --- Selezionare il Comune di Residenza\n");
        flag++;
    temp = (request.getParameter("ind_utente")!=null)?request.getParameter("ind_utente"):" ";
    if (!ctr_lunghezza(temp)){ 
        risposta = risposta.concat("Attenzione --- Riempire il campo Indirizzo\n");
        flag++;
    %>and this is the error msg:
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: For input string: ""
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause
    java.lang.NumberFormatException: For input string: ""
         java.lang.NumberFormatException.forInputString(Unknown Source)
         java.lang.Integer.parseInt(Unknown Source)
         java.lang.Integer.valueOf(Unknown Source)
         org.apache.jsp.progetto.w2.web.Reg_005futente_jsp.ctr_data(org.apache.jsp.progetto.w2.web.Reg_005futente_jsp:27)
         org.apache.jsp.progetto.w2.web.Reg_005futente_jsp._jspService(org.apache.jsp.progetto.w2.web.Reg_005futente_jsp:122)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Maybe you are looking for