Request.getRealPath

Request.getRealPath() and context.getRealPath() return null when an application is deployed on Weblogic Server 8.1. How do we get the real path?

[email protected],
Did you ever discover a solution to your problem below? If so could you please
tell me how to get the real path.
Mayank <[email protected]> wrote:
Request.getRealPath() and context.getRealPath() return null when an application
is deployed on Weblogic Server 8.1. How do we get the real path?

Similar Messages

  • Pdf reports on webtoGo ? urgent plz

    Hi ,
    I developed a webtogo offline application and successfully generated the jasper pdf reports on local jdeveloper.Now i am publishing the same on olite server.
    The pdf report first save in /report folder and then open on popup in a new window(works fine on local machine with jdev).
    Now i have a doubt if the same works on server too?
    Does my code works or not?
    becoz i am getting some null pointer exception.The same code i have deployed which is working on local machine.
    error log:
    java.lang.NullPointerException
         at purchasing.pages._error._jspService(_error.java:54)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.lite.web.JupServlet.service(Unknown Source)
         at oracle.lite.web.JspRunner.service(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at oracle.lite.web.JupServlet.service(Unknown Source)
         at oracle.lite.web.MimeServletHandler.handle(Unknown Source)
         at oracle.lite.web.JupApplication.handle(Unknown Source)
         at oracle.lite.web.JupApplication.service(Unknown Source)
         at oracle.lite.web.JupHandler.handle(Unknown Source)
         at oracle.lite.web.HTTPServer.process(Unknown Source)
         at oracle.lite.web.HTTPServer.include(Unknown Source)
         at oracle.jsp.runtime.OraclePageContext.include(OraclePageContext.java:514)
         at purchasing.pages._main._jspService(_main.java:96)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.lite.web.JupServlet.service(Unknown Source)
         at oracle.lite.web.JspRunner.service(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at oracle.lite.web.JupServlet.service(Unknown Source)
         at oracle.lite.web.MimeServletHandler.handle(Unknown Source)
         at oracle.lite.web.JupApplication.handle(Unknown Source)
         at oracle.lite.web.JupApplication.service(Unknown Source)
         at oracle.lite.web.JupHandler.handle(Unknown Source)
         at oracle.lite.web.HTTPServer.process(Unknown Source)
         at oracle.lite.web.HTTPServer.forward(Unknown Source)
         at com.osi.sew.servlet.SEWControllerServlet.doDispach(SEWControllerServlet.java:89)
         at com.osi.sew.servlet.ReportServlet.doPost(ReportServlet.java:111)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at oracle.lite.web.JupServlet.service(Unknown Source)
         at oracle.lite.web.AppServletHandler.handle(Unknown Source)
         at oracle.lite.web.JupApplication.handle(Unknown Source)
         at oracle.lite.web.JupApplication.service(Unknown Source)
         at oracle.lite.web.JupHandler.handle(Unknown Source)
         at oracle.lite.web.HTTPServer.process(Unknown Source)
         at oracle.lite.web.HTTPServer.handleRequest(Unknown Source)
         at oracle.lite.web.JupServer.handle(Unknown Source)
         at oracle.lite.web.SocketListener.process(Unknown Source)
         at oracle.lite.web.ClientListener.process(Unknown Source)
         at oracle.lite.web.SocketListener$ReqHandler.run(Unknown Source)
    Thanks

    r.jsp ----------------- <%@ page contentType="text/html;charset=windows-1252"%> <% String path = com.osi.sew.utils.SEWConstants.SEW_KEYS.CONTEXT_PATH;%> <script type="text/javascript">
    function populateDetails(){
    var processKey = populateDetails.arguments[0];
    var args = populateDetails.arguments[1];
    var ajaxIndex = populateDetails.arguments[2];
    if(processKey == 'advisedby'){
    // <![CDATA[
    function display(obj,id1,id2,id3) {
    txt = obj.options[obj.selectedIndex].value;
    document.getElementById(id1).style.display = 'none';
    document.getElementById(id2).style.display = 'none';
    document.getElementById(id3).style.display = 'none';
    if ( txt.match(id1) ) {
    document.getElementById(id1).style.display = 'block';
    if ( txt.match(id2) ) {
    document.getElementById(id2).style.display = 'block';
    if ( txt.match(id3) ) {
    document.getElementById(id3).style.display = 'block';
    // ]]>
    var url1='<%=(String)request.getAttribute("jasperPrint")%>';
    function open_on_entrance()
    url1 = '<%=(String)request.getAttribute("jasperPrint")%>';
    if(url1 != null)
    window.open(url1, 'iuiu', 'menubar,resizable,status,width=900,height=550,left=30,top=30');
    window.onload = function(){
    if(url1 == 'null'){
    //alert('url is null');
    }else{
    open_on_entrance();
    </script>
    <form action="%3C%=path%20+%20">" method="post" id="reportForm" name="reportForm" &gt;
    <table width="540" cellspacing="0" cellpadding="2">
    <thead>
    <tr>
    <td class="title">Report Type:</td>
    <td class="field"><select name="reportName">
    <option>Please select:</option>
    <option value="vendorReport">Gate Pass - Material Return to Vendor</option>
    <option value="report2">Report 2</option>
    <option value="report3">Report 3</option>
    </select></td>
    </tr>
    </thead>
    <tfoot>
    <tr>
    <td class="align-center" colspan="2"><input type="submit" value="Submit" id="submit" name="submit" class='submit'>
    <input type="reset" value="Reset">
    </td>
    </tr>
    </tfoot>
    <tbody id="report2" style="display: none;">
    <tr>
    <td class="title">B'First Name:</td>
    <td class="field"><input type="text" name="fname" size="15">
    </td>
    </tr>
    <tr>
    <td class="title">B'Last Name:</td>
    <td class="field"><input type="text" name="lname" size="15">
    </td>
    </tr>
    </tbody>
    <tbody id="report3" style="display: none;">
    <tr>
    <td class="title">G'First Name:</td>
    <td class="field"><input type="text" name="fname" size="15">
    </td>
    </tr>
    <tr>
    <td class="title">G'Last Name:</td>
    <td class="field"><input type="text" name="lname" size="15">
    </td>
    </tr>
    </tbody>
    <tbody id="vendorReport" style="display: none;">
    <tr>
    <td class="title">PO Number:</td>
    <td class="field"><input type="text" name="poNumber" size="15">
    </td>
    </tr>
    <tr>
    <td class="title">Receipt Number:</td>
    <td class="field"><input type="text" name="receiptNumber" size="15">
    </td>
    </tr>
    <tr>
    <td class="title">Advised By:</td>
    <td class="field">
    <div><input size="25" type="text" id="advisedBy" name="advisedBy">
    </div>
    <span id="spanEmp" name="spanEmp" class='hidespan'></span></td>
    </tr>
    <tr>
    <td class="title">Prepared By:</td>
    <td class="field">
    <div><input size="25" type="text" id="preparedBy" name="preparedBy">
    </div>
    <span id="spanEmp2" name="spanEmp2" class='hidespan'></span></td>
    </tr>
    </tbody>
    </table>
    </form>
    Servlet.java --------------------------------
    public class ReportServlet extends SEWControllerServlet { private static final String CONTENT_TYPE = "text/html; charset=windows-1252"; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String key4nav = request.getParameter(SEWConstants.SEW_KEYS.PARAM_KEY); System.out.println("key4nav..report servlet"+key4nav); String key4next = key4nav; System.out.println("key4next"+key4next); boolean statusFlag = false; JasperReport jasperreport; Connection conn = null; try { if(key4nav.equals(SEWConstants.MODULE_PURCHASING.REPORT)) { String submitBtn = request.getParameter("submit"); String reportName = request.getParameter("reportName"); String location = SEWLoggedInUser.getLocation(); Map parameters = new HashMap(); if(request.getParameter("reportName").equalsIgnoreCase("vendorReport")) { String poNumber = request.getParameter("poNumber"); String receiptNumber = request.getParameter("receiptNumber"); String advisedBy = request.getParameter("advisedBy"); String preparedBy = request.getParameter("preparedBy"); String reportPath= request.getRealPath("/reports"); String reportImagepath= request.getRealPath("/images"); System.out.println("reportImagepath&gt;&gt;"+reportImagepath); jasperreport = JasperCompileManager.compileReport(reportPath+ "/vendor_report.xml"); parameters.put("poNumber",poNumber); parameters.put("receiptNumber",receiptNumber); parameters.put("location",location); parameters.put("advisedBy",advisedBy); parameters.put("preparedBy",preparedBy); parameters.put("reportImagepath",reportImagepath); conn = SEWConnectionManager.getConnection(); // response.setContentType("application/pdf"); // response.setContentLength(0); // ServletOutputStream out = response.getOutputStream(); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperreport, parameters, conn); byte[] bytes= JasperExportManager.exportReportToPdf(jasperPrint); response.setContentType("application/pdf"); //response.addHeader("Content-Disposition", "inline;"); //open in current window response.setHeader ("Content-Disposition","attachment;filename=\"report.pdf\""); //open in new browser window response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); ouputStream.close(); if(conn!=null){ conn.close(); } }
    Here i am the report Image and report xml path using
    String reportPath= request.getRealPath("/reports");
    String reportImagepath= request.getRealPath("/images");
    Does this work on webtogo?How does it look for the location of reports folder and then the xml file?
    Can you tell me how you are getting pdf in your application
    Edited by: rbojja on Jul 14, 2009 1:01 PM
    Edited by: rbojja on Jul 14, 2009 1:02 PM
    Edited by: rbojja on Jul 14, 2009 8:42 PM

  • HTML multipart form is not working in jsp page

    Hi
    i have jsp page, has a HTML from with file upload field , when i click the send button , nothing happened as if the button did not submit the form. ie the message at line 12 is not printed out.
    can any one help please.
    <%@ page errorPage="..\error\error.jsp" %>
    <%@ page pageEncoding="windows-1256" %>
    <%@ page language="java" import="javazoom.upload.*,java.util.*,java.sql.ResultSet" %>
    <jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean" >
      <jsp:setProperty name="upBean" property="folderstore" value="<%=request.getRealPath("thuraya//uploads")%>"  />
    </jsp:useBean>
    <jsp:useBean id="dbc" class="mypackage.DBConnection" scope="session" />
    <!-- add news-->
    <%
    if(request.getParameter("addBTN") != null){
            out.println("addbtn");
            //do upload file + insert in database
             if (MultipartFormDataRequest.isMultipartFormData(request))
             // Uses MultipartFormDataRequest to parse the HTTP request.
             MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);
             String todo = null;
             if (mrequest != null) todo = mrequest.getParameter("todo");
                 if ( (todo != null) && (todo.equalsIgnoreCase("upload")) )
                    Hashtable files = mrequest.getFiles();
                    if ( (files != null) && (!files.isEmpty()) )
                        UploadFile file = (UploadFile) files.get("filename");
                        if (file != null)
                                            out.println("<li>Form field : uploadfile"+"<BR> Uploaded file : "+file.getFileName()+" ("+file.getFileSize()+" bytes)"+"<BR> Content Type : "+file.getContentType());
                                            String fileName=file.getFileName();
                                            String ran=System.currentTimeMillis()+"";
                                            String ext=fileName.substring(   ( fileName.length()-4),fileName.length() );
                                            file.setFileName(ran+ext);
                        // Uses the bean now to store specified by jsp:setProperty at the top.
                        upBean.store(mrequest, "filename");
                                            String title=request.getParameter("title");
                                            String content=request.getParameter("elm1");
                                            int x=dbc.addNews(title,content,file.getFileName(),2,1);
                                            if(x==1)
                                                     out.print("New Vedio has been addedd Successfully");
                                                      response.setHeader("Refresh","1;URL=uploadVedio.jsp");
                                                     else{
                                                      out.print("An Error Occured while adding new Vedio");
                                                      response.setHeader("Refresh","1;URL=uploadVedio.jsp");
                    else
                      out.println("<li>No uploaded files");
             else out.println("<BR> todo="+todo);
    %>
    <!-- end of add news-->
    <form action="" method="post" enctype="multipart/form-data" name="upform" >
      <table width="99%" border="0" align="center" cellpadding="1" cellspacing="1">
        <tr>
          <td colspan="2" align="right" bgcolor="#EAEAEA" class="borderdTable"><p>'6'A) .(1 ,/J/</p></td>
        </tr>
        <tr>
          <td width="87%" align="right"><label>
            <input name="title" type="text" class="rightText" id="title">
          </label></td>
          <td width="13%" align="right">9FH'F 'D.(1</td>
        </tr>
        <tr>
          <td align="right"><textarea name="elm1" cols="50" rows="10" id="elm1" style="direction:rtl" >
              </textarea></td>
          <td align="right">*A'5JD 'D.(1</td>
        </tr>
        <tr>
          <td align="right"><label>
            <input type="file" name="filename" id="filename">
          </label></td>
          <td align="right">5H1)</td>
        </tr>
        <tr>
          <td align="right"><label>
            <input onClick="submit()" name="addBTN" type="button" class="btn" id="addBTN" value="  '6'A) .(1 ">
          </label></td>
          <td align="right"> </td>
        </tr>
      </table>
    </form>
    <!-- TinyMCE -->
    <script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script>
    <script type="text/javascript">
            tinyMCE.init({
                    mode : "textareas",
                    theme : "simple",
                    directionality : "rtl"
    </script>
    <!--end of TinyMCE -->

    the problem is not because of java code insdie jsp page
    I have removed all things but the form and it is still not working
    here is the modified code:
    <!-- add news-->
    <%
    if(request.getParameter("addBTN") != null){
            out.print("addBTN");
    %>
    <!-- end of add news-->
    <form action="" method="post" enctype="multipart/form-data" name="upform" >
      <table width="99%" border="0" align="center" cellpadding="1" cellspacing="1">
        <tr>
          <td colspan="2" align="right" bgcolor="#EAEAEA" class="borderdTable"><p>'6'A) .(1 ,/J/</p></td>
        </tr>
        <tr>
          <td width="87%" align="right"><label>
            <input name="title" type="text" class="rightText" id="title">
          </label></td>
          <td width="13%" align="right">9FH'F 'D.(1</td>
        </tr>
        <tr>
          <td align="right"><textarea name="elm1" cols="50" rows="10" id="elm1" style="direction:rtl" >
              </textarea></td>
          <td align="right">*A'5JD 'D.(1</td>
        </tr>
        <tr>
          <td align="right"><label>
            <input type="file" name="filename" id="filename">
          </label></td>
          <td align="right">5H1)</td>
        </tr>
        <tr>
          <td align="right"><label>
            <input name="addBTN" type="submit" class="btn" id="addBTN" value="  '6'A) .(1 ">
          </label></td>
          <td align="right"> </td>
        </tr>
      </table>
    </form>
    <!-- TinyMCE -->
    <script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script>
    <script type="text/javascript">
            tinyMCE.init({
                    mode : "textareas",
                    theme : "simple",
                    directionality : "rtl"
    </script>
    <!--end of TinyMCE -->

  • Error when invoking webservice on https (unable to find valid certification

    I have a webservice which run on https..
    When I made a simple test (jsp) page on my local computer all works fine (jdeveloper 10g) ..
    When I deploy the ear file to remote oc4j and run the test page I get the error:
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    My test page is just simple jsp page with some system parameters like this:
    ================
    String dir = request.getRealPath("/cert");
    System.getProperties().put("javax.net.ssl.keyStore", dir + "/adriatic.p12");
    System.getProperties().put("javax.net.ssl.keyStorePassword", "as-p4ss");
    System.getProperties().put("javax.net.ssl.keyStoreType", "PKCS12");
    System.getProperties().put("javax.net.ssl.trustStore", dir + "/service.megapos.si.jks");
    System.getProperties().put("javax.net.ssl.trustStorePassword", "megapos");
    System.getProperties().put("javax.net.ssl.trustStoreType", "JKS");
    ================
    why this works on windows and doesn't work on linux?
    All paths to my certificare and truststore are correct.
    On my local pc (windows) there is a Jdeveloper Oc4j version (10.1.2.0.2) and works fine
    On linux there is a oc4j version 10.1.3.4.0 and doesn't work..
    thank you for any help

    Peter,
    Apparently the linux jdk/jre doesn't have the ability to validate the certificate being used.
    I dunno if [url http://www.java-samples.com/showtutorial.php?tutorialid=210]this might help you?
    John

  • How to change the contextPath of JSP?

    Hi all,
    I feel this is a common problem all new JSP developers will experience. But I couldn't find a feasible direct solution over the net. Before explaining the problem let me display my directory structure:
    the war file has the following structure:
    testurl.war\
            |
            +html\
            |     |
            |     testhtml.html
            |
            +jsp\
            |   |
            |   welcome.jsp
            |
            +images\
                   |
                   test.jpgapart from this I have a servlet which is mapped in web.xml as \Welcome.
         my problem is that I have a link in welcome.jsp to testhtml.html which is given as shown:
    <a href="../html/testhtml.html" >Welcome </a>1. It works fine when I directly access the url      "//http:localhost/testurl/jsp/welcome.jsp"2. The servlet mapped to /Welcome just forwards the request to welcome.jsp
    using:
         request.getRequestDispatcher("jsp/welcome.jsp").forward(request,response);when I access the servlet as "//http:localhost/testurl/Welcome", the jsp appears
    but the link does not work.
    in first case the link is shown as "//http:localhost/testurl/html/testhtml.html" (works fine)
    in second case the link is shown as "//http:localhost/html/testhtml.html" (problem)
    anyone please help me to find a workaround to this problem..
    thanks and regards,
    Gireesh.

    1. Will the
    'getContextPath()'
    method always return the application name (the >war file name)?Well it returns the path where application(war) is being deployed on a WEB / APPSERVER
    wid reference to TOMCAT it considers %CATLINA_HOME%\webapp as the root and it returns the offset PATH for that root.
    just to get more insightful information try with request.getRealPath(""); which would return the whole path w.r.t server machine say something like
    "C:\program file\tomcat\webapps\mywebapp" which cannot be applied to the above senario....
    or, will this be enough?
    request.getContextPath()+"/html/testhtml.html
    so that there is no problem of session invalidation..Well i don't think so as that would add up to the present path which would be look like
    "WEBAPP/jsp/"+request.getContextPath()+"/html/testhtml.html" well i haven't tried it myself its just a prediction which can happen.However you are always welcome to try it as that can even be my misconseption.... too :)

  • Anyone know how to make an "Index Transparent" gif

    I have successfully made transparent PNGs and GIFusing an Alpha transparency but now I need to make images which would be the same as ueing fireworks / Photoshop to make a colour transparent. i.e. indexed transparency.
    Does anyone know how to do this.
    My code is as follows :
    // configure all of the parameters
    String text = "ABC abc XYZ xyz ["+ new Date()+"]";
    String font_file = "./tst/Maiandb.TTF";
    font_file = request.getRealPath(font_file);
    float size = 30.0f;
    Color background = Color.white;
    Color color = Color.black;
    Font font = Font.createFont(Font.TRUETYPE_FONT, new FileInputStream(font_file));
    font = font.deriveFont(size);
    buffer = new java.awt.image.BufferedImage(1,1,java.awt.image.BufferedImage.TYPE_INT_RGB);
    Graphics2D g2 = buffer.createGraphics();
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    java.awt.font.FontRenderContext fc = g2.getFontRenderContext();
    java.awt.geom.Rectangle2D bounds = font.getStringBounds(text,fc);
    // calculate the size of the text
    width = (int) bounds.getWidth();
    height = (int) bounds.getHeight();
    // prepare some output
    buffer = new java.awt.image.BufferedImage(width, height, java.awt.image.BufferedImage.TYPE_INT_ARGB);
    g2 = buffer.createGraphics();
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    g2.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
    g2.setFont(font);
    // actually do the drawing
    Color transparent = new Color(0, 0, 0, 0);
    g2.setColor(transparent);
    g2.fillRect(0,0,width,height);
    g2.setColor(color);
    g2.setComposite(AlphaComposite.SrcOver);
    g2.drawString(text,0,(int)-bounds.getY());
    File file = new File ("./jsp1/tst/fred1.gif");
    com.gif4j.light.GifImage gifImage = new com.gif4j.light.GifImage();
    com.gif4j.light.GifFrame gifFrame = new com.gif4j.light.GifFrame(buffer);
    gifImage.addGifFrame(gifFrame);
    GifEncoder.encode(gifImage, file);Thanks in advance

    ^^EDIT^^
    System admins updated iMac to OS X Mountain Lion (10.8.4).

  • Unable to retrive the uploaded file in Struts

    hi i am getting error while retrieving the uploaded file in struts. The code is
    struts-config.xml
    ===========
    <form-bean name="GreivanceForm" type="org.apache.struts.validator.DynaValidatorActionForm" >
                   <form-property name="compcode" type="java.lang.String" />
                   <form-property name="complaintName" type="java.lang.String" />
                   <form-property name="category" type="java.lang.String" />
                   <form-property name="subcategory" type="java.lang.String" />
                   <form-property name="priority" type="java.lang.String" />
                   <form-property name="occdate" type="java.lang.String" />
                   <form-property name="occtime" type="java.lang.String" />
                   <form-property name="desc" type="java.lang.String" />
                   <form-property name="comments" type="java.lang.String" />
                   <form-property name="onbehalf" type="java.lang.String"/>
                   <form-property name="employeeId" type="java.lang.String"/>
                   <form-property name="hidSelectedNames" type="java.lang.String"/>
                   <form-property name="individual" type="java.lang.String"/>
                   <form-property name="compOption" type="java.lang.String" />
                   <form-property name="selectedrequestor" type="java.lang.String" />
                   <form-property name="file" type="java.lang.String"/>
              </form-bean>
    <action path="/helpdesk/GrievanceComplaint"
                   type="com.srit.hrnet.helpdesk.grievancemechanism.GrievanceComplaintAction"
                   scope="request" name="GreivanceForm"
                   input=""
                   validate="true"
                   parameter="compOption" >
                   <forward name="success" path="/helpdesk/GrievanceRedressalMechanism/ComplaintDetails.jsp"/>
                   <forward name="showmeetingform" path="/helpdesk/complaint/MeetingDetailsForm.jsp"/>
                   <forward name="transconfirm" path="/helpdesk/GrievanceRedressalMechanism/TransConfirm.jsp"/>
                   <forward name="ViewCompForm" path="/helpdesk/GrievanceRedressalMechanism/ViewCompForm.jsp"/>
              </action>
    and
    Actionclass:
    ========
    * Created on Nov 5, 2004
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    package com.srit.hrnet.helpdesk.grievancemechanism;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.List;
    import java.util.StringTokenizer;
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    import org.apache.struts.action.DynaActionForm;
    import org.apache.struts.actions.DispatchAction;
    import org.apache.struts.upload.FormFile;
    import org.apache.struts.validator.DynaValidatorActionForm;
    import org.apache.struts.validator.DynaValidatorForm;
    import com.srit.hrnet.components.SequenceCodeGenerator;
    import com.srit.hrnet.emp.EmployeeGenTO;
    import com.srit.hrnet.emp.courier.CourierMailDAO;
    import com.srit.hrnet.emp.courier.CourierMailTO;
    import com.srit.hrnet.emp.parameter.ParamMasterTO;
    import com.srit.hrnet.helpdesk.SessionValidate;
    import com.srit.hrnet.helpdesk.category.CategoryDAO;
    import com.srit.hrnet.helpdesk.category.CategoryTO;
    import com.srit.hrnet.helpdesk.mails.HDMail;
    import com.srit.hrnet.utilities.DateUtilities;
    import com.srit.hrnet.helpdesk.complaint.TaskDAO;
    import com.srit.hrnet.helpdesk.SessionValidate;
    import com.srit.hrnet.helpdesk.grievancemechanism.GrievanceComplaintForm;
    public class GrievanceComplaintAction extends DispatchAction{
         public ActionForward submitForm(ActionMapping mapping,
                   ActionForm form, HttpServletRequest request,
                   HttpServletResponse response)throws ServletException,IOException {  
                   String msg=null;
                   DynaValidatorActionForm objDyna = (DynaValidatorActionForm)form;
                   GrievanceComplaintDAO gcDao= new GrievanceComplaintDAO();
              ActionForward forward = new ActionForward();
    //          GrievanceComplaintForm gcForm=(GrievanceComplaintForm)form;
                        String CompId = null;
              try
                             SequenceCodeGenerator seq=new SequenceCodeGenerator("GrievanceMechanism");
                             CompId=seq.generateCode();
                   GrievanceComplaintTO gcTO=new GrievanceComplaintTO();
                   System.out.println("Inside GrievanceComplaintAction ......");
                   String CompName=request.getParameter("complaintName");
                   String Category=request.getParameter("category");
                   String prority=request.getParameter("priority");
                   String dateofocc=request.getParameter("occdate");
                   String timeofocc=request.getParameter("occtime");
                   String desc=request.getParameter("desc");
                   String comments=request.getParameter("comments");
    //          String file=request.getParameter("file");
    //          String complaintcode = .generateCode();
                   System.out.println("Inside insert()::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
                   System.out.println("Name Of the Complaint name>>>>>>>>>>>>>>"+CompName);
                   System.out.println("Name Of the Categoryt>>>>>>>>>>>>>>"+Category);
                   System.out.println("Name Of the prority>>>>>>>>>>>>>>"+prority);
                   System.out.println("Name Of the dateofocc>>>>>>>>>>>>>>"+dateofocc);
                   System.out.println("Name Of the timeofocc>>>>>>>>>>>>>>"+timeofocc);
                   System.out.println("Name Of the desc>>>>>>>>>>>>>>"+desc);
                   System.out.println("Name Of the comments>>>>>>>>>>>>>>"+comments);
    //          System.out.println("Name Of the file>>>>>>>>>>>>>>"+file);
                   GregorianCalendar occdate=DateUtilities.getGCDateForString(objDyna.getString("occdate"),((com.srit.hrnet.emp.EmployeeGenTO)request.getSession().getAttribute("LoginUser")).getDateFormat(),'/');
                   gcTO.setComplaintCode(CompId);
                   gcTO.setComplaintName(CompName);
                   gcTO.setCategory(Category);
                   gcTO.setPriority(prority);
                   gcTO.setOccdate(occdate);
                   System.out.println("After Setting date in GTO is>>>>>>>>>>>>>>"+gcTO.getOccdate());
                   gcTO.setOcctime(timeofocc);
                   gcTO.setDesc(desc);
                   gcTO.setComments(comments);
                        HDMail mailComp = new HDMail();
                   String errorFlag = null;
                   String filePath = ""+objDyna.get("file");// Attachment path
                   StringTokenizer st=new StringTokenizer(filePath,".");
                   String extension=null;
    //               String filename=null;
                   String attachmentPath = null;
                   while(st.hasMoreTokens())
                        extension=st.nextToken();
    //          while(st1.hasMoreTokens()){
    //               filename=st1.nextToken();
                   System.out.println("Attachment path : "+attachmentPath);
              System.out.println("Extension is.........."+extension);
    //          System.out.println("Name of the file is.............."+filename);
              if(filePath != null && filePath.indexOf(".") != -1 && filePath.length()>=5 ){// If attachment exists
    //               attachmentPath = filePath.substring(filePath.indexOf(".")+1,filePath.length());// file extension
    ////               System.out.println("Attachment path : "+attachmentPath);
                   if(!extension.equalsIgnoreCase("txt") && !extension.equalsIgnoreCase("htm")
                             &&!extension.equalsIgnoreCase("doc") &&!extension.equalsIgnoreCase("rtf")
                                       &&!extension.equalsIgnoreCase("msg") &&!extension.equalsIgnoreCase("oft")
                                       && !extension.equalsIgnoreCase("xls")){
                        errorFlag = "1"; // if the file is not a valid type (not in the above mentioned extensions)
              gcTO.setAttachmentName(filePath);
              if(errorFlag.equals("1")){
    //          String attachmentName = null;
    ////          String attachmentPath = request.getParameter("agendaAttachment");
    //          DynaValidatorForm dyna=(DynaValidatorForm)form;
    //                         FormFile file= (FormFile)objDyna.get("file");
    //                         //dyna.get("file");      
    //          System.out.println("Name of the file after casting....."+file.getFileName());
    //                         if(file!=null && file.getFileName()!=null && !file.getFileName().trim().equals("")){
    //                              String fileName = null;                         
    //                              fileName = file.getFileName();
    //                              attachmentName = fileName;
    //                              if(validFile(fileName))
    //                              writeFile(file,request,fileName);
    //                              else
    //                                   ActionMessages errors=new ActionMessages();
    //                                   errors.add("Err:MsgDesc",new ActionMessage("com.srit.hrnet.helpdesk.complaint.form.fileupload"));                              
    //                                   saveErrors(request,errors);                         
    ////                                   ActionForward map1 = submitSubCategory(mapping,form,request,response);                              
    //                                   resetToken(request);     
    //                                   saveToken(request);
    //                                   return mapping.findForward("ViewCompForm");                              
    //                    int recordexists = gcDao.getComplaint(CompId);
    //                    if(recordexists == 1){
    //                         System.out.println("Calling the update method");
    //                         gcDao.updateComplaintDetails(gcTO);     
    //                    }else{
                        boolean retVal=gcDao.insert(gcTO);
              if (retVal){
                   System.out.println("Record Inserted inside Action.");
                   msg = "<font color='blue'>Record Inserted Successfully .</font>";
                             request.setAttribute("status", msg);
              else{
                   System.out.println("Unable to insert Record inside Action.");
                   msg = "<font color='red'>Unable to insert Record .</font>";
                             request.setAttribute("status", msg);
              else
                   System.out.println("Upload a file of extension(.jpg,.gif,.doc,.htm,.xls,.rtf,oft,msg) inside Action.");
                   msg = "<font color='red'>Upload a file of extension(.jpg,.gif,.doc,.htm,.xls,.rtf,.oft,.msg) </font>";
                             request.setAttribute("status", msg);
              catch (Exception e) {
                   // TODO: handle exception
                   System.out.println("Exception Occurred inside insert action....."+e.getMessage());
                   e.printStackTrace();
    //          else
    //               String insStatus="10";
    //               System.out.println("Accept:Redirecting due to resubmission");
    //               request.setAttribute("transStatus",insStatus);
    //               forward =mapping.findForward("transconfirm");
                   return mapping.findForward("success");
         public boolean validFile(String fileName){
              if(!fileName.equals("")){     
                        int filelength=fileName.length();
                        int sublength= fileName.indexOf('.');
                        String extension = fileName.substring(sublength+1,filelength);
                        if(extension.trim().equalsIgnoreCase("msg") || extension.trim().equalsIgnoreCase("txt") || extension.trim().equalsIgnoreCase("xls") || extension.trim().equalsIgnoreCase("ppt") || extension.trim().equalsIgnoreCase("jpg") || extension.trim().equalsIgnoreCase("gif")|| extension.trim().equalsIgnoreCase("doc" )|| extension.trim().equalsIgnoreCase("pdf") || extension.trim().equalsIgnoreCase("wmv") || extension.trim().equalsIgnoreCase("zip") || extension.trim().equalsIgnoreCase("jpeg") || extension.trim().equalsIgnoreCase("xml") || extension.trim().equalsIgnoreCase("html") ||extension.trim().equalsIgnoreCase("bmp") ||extension.trim().equalsIgnoreCase("htm") ||extension.trim().equalsIgnoreCase("ppt")||extension.trim().equalsIgnoreCase("oft")||extension.trim().equalsIgnoreCase("csv")){
                        return true;
                        }else{
                        return false;
                   return true;
         public int writeFile(FormFile file,HttpServletRequest request,String fileName){
                   int retValue = 0;
                   String size = (file.getFileSize() + " bytes");
                   if(file.getFileSize()>0){
                        //System.out.println("The size of the file is :" + file.getFileSize() + " bytes");
                        String data = null;
                        try {
                             //retrieve the file data
                             String fileTodelete = request.getRealPath("/helpdesk/meetingsagenda/"+fileName);
                             boolean success = (new File(fileTodelete)).delete();
                             //System.out.println("sucess......"+success);          
                             ByteArrayOutputStream baos = new ByteArrayOutputStream();
                             InputStream stream = file.getInputStream();
                             //write the file to the file specified
                             System.out.println("sfsdfkjdsfds "+request.getRealPath("/helpdesk/meetingsagenda/"+fileName));
                             OutputStream bos = new FileOutputStream(request.getRealPath("/helpdesk/meetingsagenda/"+fileName));
                             int bytesRead = 0;
                             byte[] buffer = new byte[8192];
                                  while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
                                       bos.write(buffer, 0, bytesRead);
                             bos.close();
                             data =      "The file has been written to \""+ "/helpdesk/meetingsagenda/"+ "\"";
                             System.out.println("data........."+data);
                                  //close the stream
                             stream.close();
                        }catch(FileNotFoundException fnfe) {
                                  System.out.println("com.srit.hrnet.homepage.fromceo.FromCEOAction.writeFile.Exception :"+ fnfe.toString());
                                  fnfe.printStackTrace();
                                  //retValue = FORMFILE_FILE_NA;
                        }catch(IOException ioe) {
                                  System.out.println("com.srit.hrnet.homepage.fromceo.FromCEOAction.writeFile.Exception :"+ ioe.toString());
                                  ioe.printStackTrace();
                                  //retValue = FORMFILE_ERR_UPD;
                   }//end of try catch:~
                   }else{
                        //The file was a not available
                        //retValue = FORMFILE_SIZE_ZERO;
                   }//end of if else:~
              //     System.out.println("retValue........."+retValue);
                   return retValue;                         
    }//end of ComplaintAction
    and GrievanceFormTO:(Dummy form bean)
    ==========
    * Created on Nov 4, 2004
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    package com.srit.hrnet.helpdesk.grievancemechanism;
    import java.util.GregorianCalendar;
    import org.apache.struts.upload.FormFile;
    public class GrievanceComplaintTO implements java.io.Serializable {
    private String complaintCode;
    private String compcode; //complaind Id
    private String complaintName;
    private String category;
    private String priority;
    //private GregorianCalendar date;
    private FormFile theFile;
    private String compOption;
    private String desc;
    private String comments;
    private String status;
    private String serviceperson;     //employee who is going to serve the complaint.Applicatble only in case of manual flow.
    private String loggedEmpId; //the employee who has logged the complaint
    private String applyEmpId; //employee to whom the cmplaint belongs to or owner of the complaint
    private String associateComm;
    private String associateRating;
    private GregorianCalendar occdate;
    private String occtime;
    private String attachmentName;
         public String getApplyEmpId() {
              return applyEmpId;
         public void setApplyEmpId(String applyEmpId) {
              this.applyEmpId = applyEmpId;
         public String getAssociateComm() {
              return associateComm;
         public void setAssociateComm(String associateComm) {
              this.associateComm = associateComm;
         public String getAssociateRating() {
              return associateRating;
         public void setAssociateRating(String associateRating) {
              this.associateRating = associateRating;
         public String getCategory() {
              return category;
         public void setCategory(String category) {
              this.category = category;
         public String getComments() {
              return comments;
         public void setComments(String comments) {
              this.comments = comments;
         public String getCompcode() {
              return compcode;
         public void setCompcode(String compcode) {
              this.compcode = compcode;
         public String getComplaintName() {
              return complaintName;
         public void setComplaintName(String complaintName) {
              this.complaintName = complaintName;
         public String getCompOption() {
              return compOption;
         public void setCompOption(String compOption) {
              this.compOption = compOption;
         public String getDesc() {
              return desc;
         public void setDesc(String desc) {
              this.desc = desc;
         public String getLoggedEmpId() {
              return loggedEmpId;
         public void setLoggedEmpId(String loggedEmpId) {
              this.loggedEmpId = loggedEmpId;
         public String getOcctime() {
              return occtime;
         public void setOcctime(String occtime) {
              this.occtime = occtime;
         public String getPriority() {
              return priority;
         public void setPriority(String priority) {
              this.priority = priority;
         public String getServiceperson() {
              return serviceperson;
         public void setServiceperson(String serviceperson) {
              this.serviceperson = serviceperson;
         public String getStatus() {
              return status;
         public void setStatus(String status) {
              this.status = status;
         public String getComplaintCode() {
              return complaintCode;
         public void setComplaintCode(String complaintCode) {
              this.complaintCode = complaintCode;
         public void setOccdate(GregorianCalendar occdate) {
              this.occdate = occdate;
         public GregorianCalendar getOccdate() {
              return occdate;
         public String getAttachmentName() {
              return attachmentName;
         public void setAttachmentName(String attachmentName) {
              this.attachmentName = attachmentName;
         public FormFile getTheFile() {
              return theFile;
         public void setTheFile(FormFile theFile) {
              this.theFile = theFile;
    but i am getting error
    javax.servlet.ServletException: BeanUtils.populate
         org.apache.struts.util.RequestUtils.populate(RequestUtils.java:497)
         org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
         org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
         org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
         org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         com.srit.hrnet.filter.SessionValidateFilter.doFilter(SessionValidateFilter.java:81)
    root cause
    org.apache.commons.beanutils.ConversionException: Cannot assign value of type 'org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile' to property 'file' of type 'java.lang.String'
         org.apache.struts.action.DynaActionForm.set(DynaActionForm.java:424)
         org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1733)
         org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
         org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
         org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
         org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
         org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
         org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
         org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
         org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
         org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
         org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         com.srit.hrnet.filter.SessionValidateFilter.doFilter(SessionValidateFilter.java:81)
    and my jsp is:
    =========
    <%@ page language="java" %>
    <%@ taglib uri="struts-bean" prefix="bean" %>
    <%@ taglib uri="struts-html" prefix="html" %>
    <%@ taglib uri="struts-logic" prefix="logic" %>
    <%@ taglib uri="TabGenerator" prefix="GenerateTab" %>
    <%@ page import="com.srit.hrnet.utilities.DateUtilities"%>
    <%@ page import="com.srit.hrnet.components.BasicDAOConstants" %>
    <%@ taglib uri="AccessLogin" prefix="GeneralAccess" %>
    <%@ taglib uri="iterateTag" prefix="iterateTag" %>
    <%@ page import="com.srit.hrnet.components.BasicDAOConstants,com.srit.hrnet.emp.EmployeeGenTO,com.srit.hrnet.helpdesk.grievancemechanism.*"%>
    <%@ page import="com.srit.hrnet.tags.*"%>
    <html:html locale="true">
    <HEAD>
         <TITLE>
                   <bean:message key="com.srit.hrnet.helpdesk.complaint.form.title"/>
         </TITLE>
         <META NAME="Generator" CONTENT="EditPlus">
         <META NAME="Author" CONTENT="">
         <META NAME="Keywords" CONTENT="">
         <META NAME="Description" CONTENT="">
    <link rel="stylesheet" type="text/css" href="<%= (session.getAttribute("LoginUser") != null ?
                             ((com.srit.hrnet.emp.EmployeeGenTO)session.getAttribute("LoginUser")).getEmpPageStyleSheet() :
                             com.srit.hrnet.components.access.AccessCodes.GLOBAL_STYLESHEET)%>">
    <script language="javaScript" src="<%= request.getContextPath()%>/jscript/GlobalValidationScript.js" purpose="include"></script>
    <%      
    int dateFormat = (session.getAttribute("LoginUser") != null ? ((com.srit.hrnet.emp.EmployeeGenTO)session.getAttribute("LoginUser")).getDateFormat() : 2);
         System.out.println("/reports/training/TRngBaseReport dateFormat = "+dateFormat);
         /* *** get the current date *** */
         java.util.GregorianCalendar gc1 = new java.util.GregorianCalendar();
         int yy = gc1.get(java.util.Calendar.YEAR);
         int mm = gc1.get(java.util.Calendar.MONTH);
         int dd = gc1.get(java.util.Calendar.DATE);     
         mm = mm + 1;
         String mon;
         String day;
         if(dd <= 9)
              day = "0" + java.lang.String.valueOf(dd);
         else
              day = java.lang.String.valueOf(dd);
         if(mm <= 9)
              mon = "0" + java.lang.String.valueOf(mm);
         else
              mon = java.lang.String.valueOf(mm);
         java.lang.String currentDate = "";
         if(dateFormat == 3){
              currentDate = java.lang.String.valueOf(yy+"/"+mon+"/"+day);/* (yyy-mm-dd format) */
         }else if(dateFormat == 1){
              currentDate = java.lang.String.valueOf(mon+"/"+day+"/"+yy);/* (mm-dd-yyy format) */
         }else if(dateFormat == 2){
              currentDate = java.lang.String.valueOf(day+"/"+mon+"/"+yy);/* (dd-mm-yyy format) */
         System.out.println("/reports/training/TRngBaseReport currentDate = "+currentDate);
    %>
    <script language="javaScript" src="<%= (session.getAttribute("LoginUser")!=null ? ((com.srit.hrnet.emp.EmployeeGenTO)session.getAttribute("LoginUser")).getScriptFile() : "")%>" purpose="include"></script>
    <script language="javaScript" src="jscript/CommonDialog.js" purpose="include"></script>
    <script language="javaScript" src="jscript/GlobalValidationScript.js"></script>
    <script language="javascript">
         var gNow = new Date("<%=currentDate%>");
         function val_complaint()
    if(document.GreivanceForm.complaintName.value.length==0)
         alert("Enter Complaint Name");
         document.GreivanceForm.complaintName.focus();
         return false;
    if(document.GreivanceForm.category.value =='NA')
         alert("select category");
         document.GreivanceForm.category.focus();
         return false;
    if(document.GreivanceForm.priority.value == 'NA')
         alert("select priority");
         document.GreivanceForm.priority.focus();
         return false;
         if(document.GreivanceForm.occdate.value == "")
              alert("Enter Date (dd/mm/yy)");
              document.GreivanceForm.occdate.focus();
              return false;
         else     
         if(document.GreivanceForm.occdate.value>document.GreivanceForm.currentDate.value){
                   alert("select Previous or Current date");
                   document.GreivanceForm.occdate.focus();
                   return false;
         if(document.GreivanceForm.occtime.value == "")
         alert("Select Time of Occurence.");
         document.GreivanceForm.occtime.focus();
         return false;
    else
    if(!IsValidTime(document.GreivanceForm.occtime.value) )
    alert("Enter Valid Time (HH:MM)");
              return false;
         if(document.GreivanceForm.desc.value == "")
         alert("Enter Description");
         document.GreivanceForm.desc.focus();
         return false;
              document.forms[0].compOption.value='submitForm';
              document.forms[0].submit();
              return false;
         function IsValidTime(givenTime)
              var hour = 0;
              var minute = 0;
              var timePat = /^(\d{1,2}):(\d{1,2})?$/;
              var matchArray = givenTime.match(timePat);
              if (matchArray == null)
                   alert("Enter Valid Time.");
                   return false;
              hour = matchArray[1];
              minute = matchArray[2];
              if(hour==0 && minute==0)
              alert("The Time You Entered is 0:0");
              return false;
              if (hour < 0 || hour > 23)
              alert("Hour must be between 0 and 23");
              return false;
              if (minute<0 || minute > 59)
              alert ("Minute must be between 0 and 59.");
              return false;
              return true;
    unction help(url)
         var attributes = 'menubar=no,toolbar=no,location=no,width=625,height=375,resizable=yes';
         var name = 'Help';
         window.open(url,name,attributes);
    //return false;
    </script>
    <script language = "javaScript" src = "<%=request.getContextPath()%>/jscript/CommonDialog.js" purpose = "include"></script>
    </HEAD>
    <body bgcolor="#FFFFFF" onload="setFocus()">
    <GenerateTab:displaytabs tabId="<%=com.srit.hrnet.masters.gui.GUIConstants.HD_GRIEVANCE_REDRESSAL_FORM%>" activeSubTab="0" >
    <table align="right">
              <tr>
                   <td>
                        <img src="<%=request.getContextPath()%>/images/help.gif" border="0" alt="Help">
                   </td>     
              </tr>     
         </table>
         <html:form action="/helpdesk/GrievanceComplaint" enctype="multipart/form-data" method="POST" onsubmit="javascript:return val_complaint()">
         <html:hidden property="compOption" value="submitForm" />
         <html:hidden property="onbehalf"/>
         <html:hidden property="employeeId"/>
         <html:hidden property="hidSelectedNames"/>
         <html:hidden property="selectedrequestor"/>
         <html:hidden property="individual"/>
         <table cellpadding="3" cellspacing="0" align="center" >
              <th align="center" class="tablehead" colspan="2">
              <b> Complaint Form </b>
              </th>
    <tr>
                   <td colspan="1" class='tablesubhead'>
                   <b><bean:message key="com.srit.hrnet.helpdesk.redressal.form.complaintname"/></b><font class="star"> *</font>
                   </td>
                   <td class='subhead'>
                   <html:text property="complaintName" maxlength="99"/>
                   </td>
              </tr>
         <tr>
                   <td class='tablesubhead' colspan="1"><b><bean:message key="com.srit.hrnet.helpdesk.redressal.form.category"/></b>
                   <font class="star">*</font></td>
                        <td class="tableright" property="category" >
                        <iterateTag:iterate propertyName='<%=IterateInterface.ITERATE_HELPDESK_GRIEVANCE_CATEGORY%>' defaultSelected='<%=request.getAttribute("category")==null?null:""+request.getAttribute("category")%>' selectSize='<%=100%>' tabInd='<%="3"%>'>
                        </iterateTag:iterate>
                   </td>
              </tr>
              <tr>
                   <td class='tablesubhead' colspan="1"><b><bean:message key="com.srit.hrnet.helpdesk.redressal.form.priority"/></b>
                   <font class="star">*</font></td>
                   <td class="subhead">
                        <iterateTag:iterate propertyName='<%=IterateInterface.ITERATE_HELPDESK_GRIEVANCE_PRIORITY%>' defaultSelected='<%=request.getAttribute("priority")==null?null:""+request.getAttribute("priority")%>' selectSize='<%=100%>' tabInd='<%="3"%>'>
                                  </iterateTag:iterate>
                   </td>
         </tr>
         <tr>
                             <td class='tablesubhead' colspan=1><b>Date of Occurence</b>
                             <font class="star">*</font> </td>
                             <td class="subhead">     
                             <html:text name="GreivanceForm" property="occdate" maxlength="10"/>
                             <input type="hidden" name="currDate" />
                             <img src="<%= request.getContextPath()%>/images/calendar.jpg" border="0" alt="Calendar" >
                             </td>                         
                   </tr>
                                  <tr>
                                       <td class='tablesubhead' colspan=1><b>Time of Occurence</b>
                                       <font class="star">*</font></td>
                                       <td class="subhead">     
                                       <html:text name="GreivanceForm" property="occtime" maxlength="10"/> (24 Hrs format)</td>
                             </tr>
                             <tr>
                        <td class="tablesubhead" colspan=1>
                             <b>Description</b>
                             <font class="star">*</font></td>
                                       <td class="subhead">
                                       <html:textarea property="desc" styleClass="formObject" cols="40" rows="4"></html:textarea>
                                       </td>
                        </tr>
                   <tr>
              <td class="tablesubhead" colspan=1>
                   <b>Comments/Suggestions</b>
              </td>
                             <td class="subhead">
                             <html:textarea property="comments" styleClass="formObject" value="" cols="40" rows="4"></html:textarea>
                             </td>
                   </tr>
                   <tr>
                   <td class="tableleft">
              <b><bean:message key="com.srit.hrnet.helpdesk.redressal.form.attachment"/> </b>
                                  </td>
                             <td class="tableright">
                                  <html:file property="file" size="18" />
                             </td>
              </tr>
                   <tr>
                   <td colspan="2" align="center" class="tablesubhead">
                   <input type="submit" class="submit" value="Submit" >
                    <html:reset property="reset" styleClass="submit" />
                   </td>
              </tr>
    </table>
         <input type="hidden" name="currentDate" value="<%=currentDate%>">
    </html:form>
    </GenerateTab:displaytabs>
    <html:javascript formName="/SubmitComplaint"/>
    </body>
    </html:html>
    please help me..

    VAS_MS wrote:
    please help me..First help yourself by posting a clear question
    You have far to much code posted and without the use of the correct code tags its almost unreadable.
    You have a question about uplaoding files with Struts then get rid of all the junk in your code thats not related to uploading files.
    If you have an error then post the relevant information on the error
    like
    org.apache.commons.beanutils.ConversionException:
    Cannot assign value of type 'org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile' to property 'file' of type 'java.lang.String'
    org.apache.struts.action.DynaActionForm.set(DynaActionForm.java:424)If you had posted only that you would have given enough information, that error says it all you are trying to put your file into a String and its not working.
    reread the tutorial/documentation provided and try again
    Edited by: pgeuens on 21-mrt-2008 8:04

  • Directory Listing in a JSP

    Hello, I try to list a directory in a JSP file, but I get this when I try it: "[Ljava.lang.String;@8e4805"
    My code is:
    <% 
    String userPath=request.getRealPath("users/");
    File f = new File(userPath);
    String[] files = f.list();
    for(int i=0; i<files.length; i++) {
    out.println(files);
    %>

    Hello, I try to list a directory in a JSP file, but I
    get this when I try it: "[Ljava.lang.String;@8e4805"
    My code is:
    <%
    String userPath=request.getRealPath("users/");
    File f = new File(userPath);
    String[] files = f.list();
    for(int i=0; i<files.length; i++) {
    out.println(files);
    %>
    That's cause out.println(files) will call the toString method of the String[], not the particular index you want to print. Try:
    <%
      String userPath=request.getRealPath("users/");
      File f = new File(userPath);
      String[] files = f.list();
      for(int f=0; f<files.length; f++) {
        out.println(files[f]);
    %>

  • Dynamic include file in JSP page

    <span class="value">Hi
    i have index.jsp , this page can include jsp
    pages dynamically by passing the name of the page to be included to the
    index page with out .jsp , so if i want to include page "code.jsp" i
    put: .../index.jsp?page=code , this have to include code.jsp page
    i made the following code , but it did not find the file
    so can any one help plz ?
            String pg=request.getParameter("page");
            if( pg!= null && ! "".equals(pg)){
                    File f=new File(request.getParameter("page")+".jsp");
                    if(f.exists()){
                            out.print("file exist");
                            %>
                            <jsp:include page="<%=request.getParameter("page")+".jsp" %>" />
            <%
                    }else{
                            out.print("file not exist");
         

    What does the file existing or not really have to do with it?
    You can try it like this:
    String pg=request.getParameter("page");
            if( pg!= null && ! "".equals(pg)){
                    String webPath = pg + " .jsp";
                    String realPath = request.getRealPath(webPath);
                    File f=new File(realPath);
                    if(f.exists()){
                            out.print("file exist");
                            %>
                            <jsp:include page="<%= webPath %>" />
            <%
                    }else{
                            out.print("file not exist");
            }Alternatively you could try using a request dispatcher:
    RequestDispatcher rd = request.getRequestDispatcher(webPath);
    if (rd == null){
      // doesn't exist
    }

  • How To Get the RealPath of Web in a WebService

    I know get it in jsp:
    String rootPath = request.getRealPath("/");
    But I don't know how to get it in a WebService.
    Who can help me,thank you very much.

    My Config:
    jsdk-1.4
    tomcat-1.4.27
    Axis-1.1

  • Problem in retriving the realpath from the servlet

    Hai All,
    I am facing problem in retriving the realpath from the servlet.
    I am using the following code in order to retrieve the path.
    String prefix = getServletContext().getRealPath("/WEB-INF/classes");
    The value returned from above code is null.
    I am using Weblogic 8.1 server, and deploying my servlet as WAR file inside
    the weblogic server.
    Is this the problem with the weblogic server or with the code. Is there any way to over come this.
    I need the path as i am implementing Log4j for the servlet and i have to pass the
    configuration file in one of the function "PropertyConfigurator.configure(file);"
    where the file should include complete path.
    My configuration file is in WEB-INF/Classes directory.
    Any help is appreciated.
    Thanks in advance
    Pooja.

    String realPath = request.getRealPath(request.getContextPath());
    That should return the path up to where you have your servlet context.

  • I have a problem when I try ti upload a file

    I have a JSP to upload files, it runs pepertly in windows, but when I tyr to run it in linux, it doesn't work
    <--- The Source JSP page--->
    <html>
    <head>
    <title>DATOS GENERALES</title>
    <link href="../estilos.css" rel="stylesheet" type="text/css">
    <script language="javascript" src="../javascript/basic.js" type="text/JavaScript">
    </script>
    </head>
    <body leftmargin="0" topmargin="0">
    <form name="Detalle" action="actFoto.jsp" method="POST" enctype="multipart/form-data">
         <input type="file" name="Fotografia" value="">
    </form>     
    </body>
    </html>
    <----- the page where I upload the file ----->
    MultipartRequest mpr;
    String rp = "";
    String vp = "imgtmp/";
    String name;
    File f=null;
    String VP = (String) request.getServletPath();
    String MCH = "\\";
    int i=0;
    int LC = VP.length()-1;
    while (i!=2 || VP.charAt(LC) != '/'){
    LC--;
    if (VP.charAt(LC) == '/')
    i++;
    LC = LC == 0 ? 1:LC;
    VP = VP.substring(0,LC);
    String RP = request.getRealPath(VP);
    VP = RP ;
    VP = VP.replace(MCH.charAt(0),'/');
    if (VP.lastIndexOf('/')==VP.length()-1){
    rp = VP+"imgtmp";
    }else{
    rp = VP+"/imgtmp";
    int maxFileSize = 5 * 1024 * 1024;
    mpr = new MultipartRequest(request, rp, maxFileSize);
    Enumeration files = mpr.getFileNames();
    String newName ="";
    while (files.hasMoreElements()){
    name = (String) files.nextElement();
    out.print(name);
    f = mpr.getFile(name);
    if (f!=null){
    out.print("<br>Archivo Fuente: "+f.getPath());
    out.print("<br>Length Fuente: "+f.length());
    newName= f.getName();
    File newFile = new File(rp + "/" + newName);
    f.renameTo(newFile);

    See for example Upload taglib from Coldtags suite:
    http://www.servletsuite.com/jsp.htm

  • JSP-class not found

    My server already working properly in internet.It's a travel agent site.there after i include one more page for audio guide which is JMF with in the applet and it is plugin to my jsp page.It's work very fine in my local system.my server is Tomcat .But if i hosted to our server means it's giving applet class not found exception.
    It is already having com package ,now i include my jmf package wol to it.
    My root directory of this class file is
    web-inf/classes/wol/PlaySongs.class
    My server doesn't have JMF pack so,i just copy JMF.jar and Sound.jar to my web-inf/lib/ folder.and also to my server folder like tomcat/common/lib/ .Now i restart my server it's giving applet class not found exception.but it's working fine in local system.
    I have using following jsp code.
    <body>
    <%
    String fname = "file:" + request.getRealPath("AudioF") + "/button-1.mp3";
    %>
    <jsp:plugin type="applet" code="PlaySongs.class" codebase="/wol" width="300" height="20">
    <jsp:params>
    <jsp:param name="file" value="<%=fname%>" />
    </jsp:params>
    <jsp:fallback>
    <p> Unable to start Plug-in. </p>
    </jsp:fallback>
    </jsp:plugin>Any one help me.
    Regards
    K.Suresh

    the codebase should be a path into the webdir, not the WEB-INF dir. Your browser needs to be able to reach the applet class like any other resource.
    My server doesn't have JMF pack so,i just copy JMF.jar and Sound.jar to my web-inf/lib/ folder.and also to my server folder like tomcat/common/lib/If you are already copying it to your common/lib folder, you don't need it in the lib folder of your webapp.

  • XSQL-014 on Solaris

    I'm getting an XSQL-014 when executing helloworld.xsql from browser.
    When I run command line xsql ../demo/helloworld.xsql I get back xml.
    Any ideas???
    System is configured:
    ES10000 Solaris 2.6
    Oracle 8.1.6
    Sun Java Web Server 2.0
    Here is java info from snoop servlet:
    Java version: 1.2.2
    Java home: /usr/jdk1.2.2/jre
    Java vendor: Sun Microsystems Inc.
    Java class version: 46.0
    Java class path:
    /d001/app/oracle/product/xml/servlet/xsql/lib/oraclexsql.jar
    /d001/app/oracle/product/xml/servlet/xsql/lib/xmlparserv2.jar
    /d001/app/oracle/product/xml/servlet/xsql/lib/oraclexmlsql.jar
    /d001/app/oracle/product/xml/servlet/xsql/lib
    /d001/app/oracle/product/8.1.6/jdbc/lib/classes12.zip
    /usr/JavaWebServer2.0/classes
    /usr/JavaWebServer2.0/lib/jsp.jar
    /usr/JavaWebServer2.0/lib/pjbean.jar
    /usr/JavaWebServer2.0/lib/servlet.jar
    /usr/JavaWebServer2.0/lib/jst.jar
    /usr/JavaWebServer2.0/lib/x509v1.jar
    /usr/JavaWebServer2.0/lib/ssl.jar
    null

    Steven,
    Has a fix for this problem been released?
    Thanks,
    Mike
    I debugged this problem last night.>The problem is that Java Web Server 2.0>returns null for the Servlet API
    call:>request.getRealPath(request.getServletPath())>It appears
    one must diverge from>the expected Servlet API call above>and
    instead use the deprecated:> request.getPathTranslated()>instead
    when running against JWS 2.0>A future release of XSQL may add>a
    config-file switch to turn on>the use of this deprecated
    behavior,>but the 0.9.9.1 and 1.0.0.0 releases>do not have this
    switch.>Are you able to use any of the servlet engines listed in
    the XSQL Servlet release notes that we've tested it against?>null

  • JSP and Access 2007 database

    i've been trying to look for codes on how to access the Access 2007 database (.accdb).
    i've done a previous JSP app with Access database, but it is of a lower version (.mdb).
    i need something like the following, but for the 2007 version. is it just a matter of changing the extension for both statements, or is there more to it?
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String DBQ = request.getRealPath("sales.mdb");
    String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + DBQ + ";DriverID=22;READONLY=true";thanks.

    <%@page import="java.sql.*" %>
    <table boder="1">
    <%
    Statement statement;
    Connection conn;
    String url = "jdbc:mysql://localhost/dbName";
    String user = "username";
    String pass = "password";
    try {
        class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection(url, user, pass);
        statement = conn.createStatement();
    String query = "SELECT images FROM database";
    ResultSet results = statement.executeQuery(query);
    while(results.next()) {
    %>
        <tr>
            <td><img src="<%= results.getString("images") %>"></td>
        </tr>
    <% } %>
    </table>The while loop will loop through your result set and print the table row for each image it finds in the query.
    Hope this helps,
    Jon

Maybe you are looking for