Append to HTML file

Hi, 
I have a VI that controls a stepper motor attached to a camera. I want people to be able to access this camera and control its position through the web. Is there any way to append an HTML file or icon from labview and rotate the camera with the data sent from the web?
Thank you for your help. 
Guillermo Naranjo 
Solved!
Go to Solution.

I tried using the labview web publishing tool like you suggested, but when I tried to preview the page (even with the VI running) I only get the border of the front panel without the VI in it. Do you know why this is happening? 
Thank you for your help.
Guillermo Naranjo 
Attachments:
frontpanel.jpg ‏29 KB

Similar Messages

  • Appending HTML file.

    Hello Friends,
    i want to append a existing html file using jsp.
    At the end of the existing html file, i should have a textarea.
    if i enter sometext into that textarea, the text should be appended into the same html file.
    do u have any idea?.
    rgds
    tskarthikeyan

    There is nothing special in file operation in JSP/Servlet except file path. The way you read/write file from java application follow the same. Sample to read a file:
    FileReader reader=new FileReader("FileNameWithPath");
    BufferedReader buffer=new BufferedReader(reader);
    String text=null;
    while((text=buffer.readLine())!=null){
    FileWriter writer=new FileWriter("FileNameWithPath");
    BufferedWriter buffer=new BufferedWriter(writer);
    buffer.write("......");To get physical path of HTML file use following method of ServletContext:
    getRealPath(String path);The HTML content will be displayed in a JSP. When user clicks on submit button additional content goes to server side. At server side Servlet/JSP updates the html file content and finally displays the same (or other) JSP page with modified HTML content.
    Hope this helps.
    Thanks,
    Mrityunjoy

  • A working method to load local PDF and HTML files on iOS

    I had a lot of trouble getting this to work, and I'm hoping this post saves someone time. Some of the information that's been posted in other locations is either wrong, incomplete, or might only work on Android. By the time you read this message the information here may no longer be accurate, so here's the testing environment:
    Window 7
    Flash CS 5.5.0
    AIR 2.7.0.19530, which was compiled on June 28, 2011
    iPad 1, version 4.3.5 of iOS
    Let's get started.
    On iOS, you load external PDF and HTML files using the StageWebView class.
    On Windows, StageWebView works but the HTMLLoader class is a better choice if you're creating a desktop app.
    You can also load HTML files by reading in the file's text. The information in this post is only for loading external HTML files.
    StageWebView will not load a file that's in File.applicationDirectory. All files bundled in your app are placed in File.applicationDirectory, which means you'll have to copy any external file you wish to load with StageWebView to another directory.
    So where can you copy your file? File.applicationStorageDirectory won't work. File.documentsDirectory does work.
    Several people have recommended copying to a temporary file using File.createTempFile(). This works, but there's a catch: it seems that, like Windows, StageWebView relies on a file's extension when determining how to load it. When you create a temporary file on iOS using File.createTempFile(), the file will have no extension (and on Windows, File.createTempFile() creates a file with the extension .tmp, which is equally problematic).
    The solution to the file extension problem is to rename the temporary file by appending the original file's extension. AIR currently does not have a <file>.rename() function, so you'll have to do it using <tempFile>.moveTo().
    Here's some code I've successfully tested several times on both iOS and Windows. The file is copied to the temp directory. The file's extension is restored by just slapping the original file name to the end of the temp file.
            private function loadExternalFile():void
                var webView = new StageWebView();
                webView.stage = this.stage;
                webView.viewPort = new Rectangle( 0, 0, 1024, 555 );
                // Works with either html or pdf files.
                // These are stored in the root of the application directory.
                var fileName:String = "euei.pdf";
                //var fileName:String = "euei.htm";
                var sourceFile = File.applicationDirectory.resolvePath( fileName );
                var workingFile = File.createTempFile();
                try
                    sourceFile.copyTo( workingFile, true );
                    // You have to rename the temp file
                    var renamedTempFile:File = workingFile.resolvePath(workingFile.nativePath + fileName);
                    workingFile.moveTo(renamedTempFile, true);
                    webView.loadURL( renamedTempFile.url );
                catch (err:Error) { }

    I tried this with Flash CS5.5 and AIR 4.0 SDK. Any pdf loaded simply fills the viewPort with black. Also tested with a png version of the pdf and that displayed just fine.
    What's the purpose of copying to a temp work file? I found that webView.loadURL( sourceFile.url ); gave me the exact same results.
    Any ideas?
    Thanks!

  • Help needed:Printing HTML file using javax.print

    Hi
    I am using the following code which i got form the forum for rpinting an HTML file.
    The folllowing code is working fine, but the problem is the content of HTML file is not getting printed. I am geeting a blank page with no content. What is the change that is required in the code? ALso is there any simpler way to implement this. Help needed ASAP.
    public boolean printHTMLFile(String filename) {
              try {
                   JEditorPane editorPane = new JEditorPane();
                   editorPane.setEditorKit(new HTMLEditorKit());
                   //editorPane.setContentType("text/html");
                   editorPane.setSize(500,500);
                   String text = getFileContents(filename);
                   if (text != null) {
                        editorPane.setText(text);                    
                   } else {
                        return false;
                   printEditorPane(editorPane);
                   return true;
              } catch (Exception tce) {
                   tce.printStackTrace();
              return false;
         public String getFileContents(String filename) {
              try {
                   File file = new File(filename);
                   BufferedReader br = new BufferedReader(new FileReader(file));
                   String line;
                   StringBuffer sb = new StringBuffer();
                   while ((line = br.readLine()) != null) {
                        sb.append(line);
                   br.close();
                   return sb.toString();
              } catch (Exception tce) {
                   tce.printStackTrace();
              return null;
         public void printEditorPane(JEditorPane editorPane) {
                   try {
                        HTMLPrinter htmlPrinter = new HTMLPrinter();
                        htmlPrinter.printJEditorPane(editorPane, htmlPrinter.showPrintDialog());
                   } catch (Exception tce) {
                        tce.printStackTrace();
         * Sets up to easily print HTML documents. It is not necessary to call any of the setter
         * methods as they all have default values, they are provided should you wish to change
         * any of the default values.
         public class HTMLPrinter {
         public int DEFAULT_DPI = 72;
         public float DEFAULT_PAGE_WIDTH_INCH = 8.5f;
         public float DEFAULT_PAGE_HEIGHT_INCH = 11f;
         int x = 100;
         int y = 80;
         GraphicsConfiguration gc;
         PrintService[] services;
         PrintService defaultService;
         DocFlavor flavor;
         PrintRequestAttributeSet attributes;
         Vector pjlListeners = new Vector();
         Vector pjalListeners = new Vector();
         Vector psalListeners = new Vector();
         public HTMLPrinter() {
              gc = null;
              attributes = new HashPrintRequestAttributeSet();
              flavor = null;
              defaultService = PrintServiceLookup.lookupDefaultPrintService();
              services = PrintServiceLookup.lookupPrintServices(flavor, attributes);
              // do something with the supported docflavors
              DocFlavor[] df = defaultService.getSupportedDocFlavors();
              for (int i = 0; i < df.length; i++)
              System.out.println(df.getMimeType() + " " + df[i].getRepresentationClassName());
              // if there is a default service, but no other services
              if (defaultService != null && (services == null || services.length == 0)) {
              services = new PrintService[1];
              services[0] = defaultService;
         * Set the GraphicsConfiguration to display the print dialog on.
         * @param gc a GraphicsConfiguration object
         public void setGraphicsConfiguration(GraphicsConfiguration gc) {
              this.gc = gc;
         public void setServices(PrintService[] services) {
              this.services = services;
         public void setDefaultService(PrintService service) {
              this.defaultService = service;
         public void setDocFlavor(DocFlavor flavor) {
              this.flavor = flavor;
         public void setPrintRequestAttributes(PrintRequestAttributeSet attributes) {
              this.attributes = attributes;
         public void setPrintDialogLocation(int x, int y) {
              this.x = x;
              this.y = y;
         public void addPrintJobListener(PrintJobListener pjl) {
              pjlListeners.addElement(pjl);
         public void removePrintJobListener(PrintJobListener pjl) {
              pjlListeners.removeElement(pjl);
         public void addPrintServiceAttributeListener(PrintServiceAttributeListener psal) {
              psalListeners.addElement(psal);
         public void removePrintServiceAttributeListener(PrintServiceAttributeListener psal) {
              psalListeners.removeElement(psal);
         public boolean printJEditorPane(JEditorPane jep, PrintService ps) {
                   if (ps == null || jep == null) {
                        System.out.println("printJEditorPane: jep or ps is NULL, aborting...");
                        return false;
                   // get the root view of the preview pane
                   View rv = jep.getUI().getRootView(jep);
                   // get the size of the view (hopefully the total size of the page to be printed
                   int x = (int) rv.getPreferredSpan(View.X_AXIS);
                   int y = (int) rv.getPreferredSpan(View.Y_AXIS);
                   // find out if the print has been set to colour mode
                   DocPrintJob dpj = ps.createPrintJob();
                   PrintJobAttributeSet pjas = dpj.getAttributes();
                   // get the DPI and printable area of the page. use default values if not available
                   // use this to get the maximum number of pixels on the vertical axis
                   PrinterResolution pr = (PrinterResolution) pjas.get(PrinterResolution.class);
                   int dpi;
                   float pageX, pageY;
                   if (pr != null)
                        dpi = pr.getFeedResolution(PrinterResolution.DPI);
                   else
                        dpi = DEFAULT_DPI;
                   MediaPrintableArea mpa = (MediaPrintableArea) pjas.get(MediaPrintableArea.class);
                   if (mpa != null) {
                        pageX = mpa.getX(MediaPrintableArea.INCH);
                        pageY = mpa.getX(MediaPrintableArea.INCH);
                   } else {
                        pageX = DEFAULT_PAGE_WIDTH_INCH;
                        pageY = DEFAULT_PAGE_HEIGHT_INCH;
                   int pixelsPerPageY = (int) (dpi * pageY);
                   int pixelsPerPageX = (int) (dpi * pageX);
                   int minY = Math.max(pixelsPerPageY, y);
                   // make colour true if the user has selected colour, and the PrintService can support colour
                   boolean colour = pjas.containsValue(Chromaticity.COLOR);
                   colour = colour & (ps.getAttribute(ColorSupported.class) == ColorSupported.SUPPORTED);
                   // create a BufferedImage to draw on
                   int imgMode;
                   if (colour)
                        imgMode = BufferedImage.TYPE_3BYTE_BGR;
                   else
                        imgMode = BufferedImage.TYPE_BYTE_GRAY;
                   BufferedImage img = new BufferedImage(pixelsPerPageX, minY, imgMode);
                   Graphics myGraphics = img.getGraphics();
                   myGraphics.setClip(0, 0, pixelsPerPageX, minY);
                   myGraphics.setColor(Color.WHITE);
                   myGraphics.fillRect(0, 0, pixelsPerPageX, minY);
                        java.awt.Rectangle rectangle=new java.awt.Rectangle(0,0,pixelsPerPageX, minY);
                   // call rootView.paint( myGraphics, rect ) to paint the whole image on myGraphics
                   rv.paint(myGraphics, rectangle);
                   try {
                        // write the image as a JPEG to the ByteArray so it can be printed
                        Iterator writers = ImageIO.getImageWritersByFormatName("jpeg");
                        ImageWriter writer = (ImageWriter) writers.next();
                                       // mod: Added the iwparam to create the highest quality image possible
                        ImageWriteParam iwparam = writer.getDefaultWriteParam();
                        iwparam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT) ;
                        iwparam.setCompressionQuality(1.0f); // highest quality
                        ByteArrayOutputStream out = new ByteArrayOutputStream();
                        ImageOutputStream ios = ImageIO.createImageOutputStream(out);
                        writer.setOutput(ios);
                        // get the number of pages we need to print this image
                        int imageHeight = img.getHeight();
                        int numberOfPages = (int) Math.ceil(minY / (double) pixelsPerPageY);
                        // print each page
                        for (int i = 0; i < numberOfPages; i++) {
                             int startY = i * pixelsPerPageY;
                             // get a subimage which is exactly the size of one page
                             BufferedImage subImg = img.getSubimage(0, startY, pixelsPerPageX, Math.min(y - startY, pixelsPerPageY));
                                                 // mod: different .write() method to use the iwparam parameter with highest quality compression
                             writer.write(null, new IIOImage(subImg, null, null), iwparam);
                             SimpleDoc sd = new SimpleDoc(out.toByteArray(), DocFlavor.BYTE_ARRAY.JPEG, null);
                             printDocument(sd, ps);
                             // reset the ByteArray so we can start the next page
                             out.reset();
                   } catch (PrintException e) {
                        System.out.println("Error printing document.");
                        e.printStackTrace();
                        return false;
                   } catch (IOException e) {
                        System.out.println("Error creating ImageOutputStream or writing to it.");
                        e.printStackTrace();
                        return false;
                   // uncomment this code and comment out the 'try-catch' block above
                   // to print to a JFrame instead of to the printer
                   /*          JFrame jf = new JFrame();
                             PaintableJPanel jp = new PaintableJPanel();
                             jp.setImage( img );
                             JScrollPane jsp = new JScrollPane( jp );
                             jf.getContentPane().add( jsp );
                             Insets i = jf.getInsets();
                             jf.setBounds( 0, 0, newX, y );
                             jf.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
                             jf.setVisible( true );*/
                   return true;
              * Print the document to the specified PrintService.
              * This method cannot tell if the printing was successful. You must register
              * a PrintJobListener
              * @return false if no PrintService is selected in the dialog, true otherwise
              public boolean printDocument(Doc doc, PrintService ps) throws PrintException {
                   if (ps == null)
                   return false;
                   addAllPrintServiceAttributeListeners(ps);
                   DocPrintJob dpj = ps.createPrintJob();
                   addAllPrintJobListeners(dpj);
                   dpj.print(doc, attributes);
                   return true;
              public PrintService showPrintDialog() {
                   return ServiceUI.printDialog(gc, x, y, services, defaultService, flavor, attributes);
              private void addAllPrintServiceAttributeListeners(PrintService ps) {
                   // add all listeners that are currently added to this object
                   for (int i = 0; i < psalListeners.size(); i++) {
                   PrintServiceAttributeListener p = (PrintServiceAttributeListener) psalListeners.get(i);
                   ps.addPrintServiceAttributeListener(p);
              private void addAllPrintJobListeners(DocPrintJob dpj) {
                   // add all listeners that are currently added to this object
                   for (int i = 0; i < pjlListeners.size(); i++) {
                   PrintJobListener p = (PrintJobListener) pjlListeners.get(i);
                   dpj.addPrintJobListener(p);
              // uncomment this also to print to a JFrame instead of a printer
              /* protected class PaintableJPanel extends JPanel {
                   Image img;
                   protected PaintableJPanel() {
                        super();
                   public void setImage( Image i ) {
                        img = i;
                   public void paint( Graphics g ) {
                        g.drawImage( img, 0, 0, this );
    Thanks
    Ram

    Ram,
    I have had printing problems too a year and a half ago. I used all printing apis of java and I still find that it is something java lacks. Now basically you can try autosense. To check whether your printer is capable of printing the docflavor use this PrintServiceLookup.lookupPrintServices(flavor, aset); . If it lists the printer then he can print the document otherwise he can't. I guess that is why you get the error.
    Regards,
    Kevin

  • Generate an HTML file from a Report in ABAP

    Good morning,
    How I could generate an HTML file from a report.
    Any Ideas... I have found the function WWW_ITAB_TO_HTML, but someone has the standar code and how use this function?
    Thanks a lot,
    Hernán Restrepo

    Hi,
    I am facing a similar problem.I did try using the function module WWW_ITAB_TO_HTML in the reoprt program, as I'm trying to generate a url from a report, but i'm not able to get the expected results. The code is given below. Could someone please try and help me resolve this issue.Thanks in advance.
    DATA:   emp_name                     TYPE char80.
    DATA:   it_itabex                    TYPE zdb_ex_tty,
            it_emp                       TYPE TABLE OF zis_emp,
            it_org                       TYPE TABLE OF zis_org,
            it_pos                       TYPE TABLE OF zis_pos,
            it_pos_alloc                 TYPE TABLE OF zis_pos_alloc,
            it_res                       TYPE TABLE OF zis_res,
            it_res_alloc                 TYPE TABLE OF zis_res_alloc,
            ls_itabex                    TYPE zdb_ex_s.
    DATA:   lv_filename                  TYPE string,
            lv_path                      TYPE string,
            lv_fullpath                  TYPE string,
            lv_replace                   TYPE i.
    DATA qstring LIKE it_itabex OCCURS 10.
    DATA: url(200), url2(200), url3(200), fullurl(200).
    FIELD-SYMBOLS: <fs_emp>              LIKE LINE OF it_emp,
                   <fs_org>              LIKE LINE OF it_org,
                   <fs_pos>              LIKE LINE OF it_pos,
                   <fs_pos_alloc>        LIKE LINE OF it_pos_alloc,
                   <fs_res>              LIKE LINE OF it_res,
                   <fs_res_alloc>        LIKE LINE OF it_res_alloc.
    Report Program to export data from database to Excel.
    Populate all the tables that have to be exported.
    SELECT * FROM zis_org       INTO TABLE it_org.
    SELECT * FROM zis_pos       INTO TABLE it_pos.
    SELECT * FROM zis_pos_alloc INTO TABLE it_pos_alloc.
    SELECT * FROM zis_emp       INTO TABLE it_emp.
    SELECT * FROM zis_res_alloc INTO TABLE it_res_alloc.
    SELECT * FROM zis_res       INTO TABLE it_res.
    Append the Column Header
    CLEAR ls_itabex.
    ls_itabex-ipp_pos_id            = 'IPP Pos ID'.
    ls_itabex-emp_name              = 'Name'.
    ls_itabex-dt_of_join            = 'JoinedOn'.
    ls_itabex-emp_status            = 'Status'.
    ls_itabex-org_name              = 'Org'.
    ls_itabex-prj_name              = 'Project'.
    ls_itabex-mgr_name              = 'Line'.
    ls_itabex-designation           = 'Designation'.
    ls_itabex-specialization        = 'Specialization'.
    APPEND ls_itabex TO it_itabex.
    Append all the tables into one internal table
    LOOP AT it_pos_alloc ASSIGNING <fs_pos_alloc>.
      CLEAR ls_itabex.
      ls_itabex-ipp_pos_id          = <fs_pos_alloc>-ipp_pos_id.
      READ TABLE it_emp ASSIGNING <fs_emp> WITH KEY emp_guid = <fs_pos_alloc>-emp_guid.
      IF sy-subrc = 0.
        CONCATENATE <fs_emp>-emp_fname <fs_emp>-emp_lname INTO ls_itabex-emp_name  SEPARATED BY space.
        ls_itabex-dt_of_join        = <fs_emp>-dt_of_join.
        ls_itabex-emp_status        = <fs_emp>-emp_status.
        ls_itabex-specialization    = <fs_emp>-specialization.
      ENDIF.
      READ TABLE it_pos ASSIGNING <fs_pos> WITH KEY ipp_pos_id = <fs_pos_alloc>-ipp_pos_id.
      IF sy-subrc = 0.
        ls_itabex-designation       = <fs_pos>-designation.
        READ TABLE it_org ASSIGNING <fs_org> WITH KEY  org_id = <fs_pos>-org_id.
        IF sy-subrc = 0.
          ls_itabex-org_name        = <fs_org>-org_name.
          ls_itabex-mgr_name        = <fs_org>-mgr_name.
        ENDIF.
      ENDIF.
      READ TABLE it_res ASSIGNING <fs_res> WITH KEY org_id = <fs_org>-org_id.
       ls_itabex-org_name         = <fs_org>-org_name.
      APPEND ls_itabex TO it_itabex.
    ENDLOOP.
    url = 'http://testweb/scripts/wgate/zvw10a/!?~language=en'.
    url2 = '&~OkCode(LGON)=LGON&login-login_user='.
    url3 = '&vbcom-vbeln='.
    CONCATENATE url url2 url3 INTO fullurl.
    WRITE: /'Staffing Excel'.
    CALL FUNCTION 'WWW_SET_URL'
      EXPORTING
        offset        = 12
        length        = 10
        func          = fullurl
      TABLES
        query_string  = qstring
      EXCEPTIONS
        invalid_table = 1
        OTHERS        = 2.
    Thanks & Regards,
    Preethi.

  • How to send html file

    I have created an html file that i want to email. I didn't want to email it as an attachment but as the contents of the email(so the recipient opens the email and sees the html file).
    How do I do this?

    hi there,
    I am not familiar with Multiparts.....
    I want to send a html file as a newsletter so it has graphics
    String urlMailContent = "http://java.sun.com/developer/onlineTraining/JavaMail/";
    BodyPart urlPart = new MimeBodyPart();
    URL urlToAdd = new URL(urlMailContent);
    URLDataSource dsURL = new URLDataSource(urlToAdd);
    DataSourceurlPart.setDataHandler(new DataHandler(dsURL));with the above code example, what do i set the content to?
    My code is below(I can see how my code doesn't work as the BufferedReader doesn't read graphics), can u help me fix it. My problem is that the graphics ar enot coming through.
                StringBuffer body = new StringBuffer();
                BufferedReader br = new BufferedReader(new FileReader("C:\\Documents and Settings\\Ushantam\\My Documents\\My Office\\Autopax Passenger Services\\IT News Letter\\ITLetter220704.html"));
                String line = br.readLine();
                while (line!=null){
                    body.append(line);
                    line=br.readLine();
                Properties props = System.getProperties();
                props.put("mail.host", host);
                Session session = Session.getDefaultInstance(props, null);
                MimeMessage message = new MimeMessage(session);
                message.setSubject("Test Letter");
                message.setFrom(new InternetAddress(from));
                message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
                message.setContent(body.toString(), "text/html");
                Transport.send(message);any help will be appreciated

  • Abstract Portal Component: How to inclue a HTML file into the response?

    Hi experts,
    i am currently working on the problem, that i want to access KM inside my AbstractPortalComponent in order to retrieve a HTML File.Afterwars i want to include this file into my IPortalComponentResponse.
    IPortalComponentResponse offers the method include(IPortalComponentResponse , IResource)
    Is it possible to use this method to achieve my goal?
    I have tried this approach:
    IResourceContext resourceContext = new ResourceContext(requester);
    RID rid = RID.getRID("/documents/test.gif");
    IResource resource = ResourceFactory.getInstance().getResource(rid,resourceContext);
    response.include(request,resource);
    But the problem is that this IResource doesn't match the IResource that is needed for this method.
    My IResource belongs to com.sapportals.wcm.repository.IResource
    But the Methos just works with com.sapportals.portal.prt.resource.IResource
    So can you help me on this one?:)
    With Best Regards
    Marcus

    Hi,
    read the contents of the resource and put them to the output.
    Dumb but working piece of code:
    private String renderResource(IResource resource, boolean html) {
              StringBuffer buf = new StringBuffer("");
              try {
                   IContent content = resource.getUnfilteredContent();
                   if (content != null) {
                        InputStream is = content.getInputStream();
                        byte[] bytes = new byte[(int) content.getContentLength()];
                        int i = is.read();
                        int count = 0;
                        while (i != -1) {
                             char b = (char) i;
                             bytes[count] = (byte) i;
                             count++;
                             i = is.read();
                        buf.append(new String(bytes, "UTF-8"));
                        if (html) {
                             buf.append("</br>");
                        } else {
                             buf.append('\n');
              } catch (Exception e) {
    // do something
              return buf.toString();
    hope this helps,
    Rmano

  • Dynamic html file generation problem

    I have a HTML file(abc.html) which is used when user clicks on a particular link in my web application. Web application has been developed in java. Now due to certain law changes , user wants to add some notices to existing HTML file(abc.html). So when he clicks on the old link, he gets abc.html with those notices appended to it. All the notices are different HTML files.
    So it looks like simple file append problem. But if it will modify my original file permanently, then it is not helping my purpose.
    So my doubt is , how I can append different notices html files to abc.html file and still keep my abc.html file as it is because the changes are based on user conditions. So if X is affected with new laws, he will see abc.html along with notices , if Y is not affected, then he will see abc.html only.

    The best solution would depend on the implementation details of your current web app, but, likely, the easiest way is to convert your html files to jsps. The jsp can then conditionally include relevant disclaimer fragments.

  • Writing html file in a jeditorpane

    I have read one of your threads titled as "How to insert a string in a JEditorPane (Urgent)". according to this thread I am using insertString() method to write in an jeditorpane. what I am writing is an html file. when I used insertString() method it doesn't show the html content in my jeditotpane. it displays the source code of my html file. I have setContentType("text/html"); moreover I used setText() and it shows the html file correctly but it over writes the previous content of jeditorpane. please help me to be able to
    write to a jeditorpane without overwriting and displaying html file properly not its source code.
    following is my code:
             fr = new FileReader("myfile.html");
         BufferedReader br = new BufferedReader(fr);
         while ((lineread = br.readLine()) != null)
              find.append(lineread);
                       do{
                             last = find.lastIndexOf("str");
                          Integer index = myJEditorPane.getSelectionEnd();
                   String temp = index.toString();     
                   start=find.indexOf(temp, end);
                   end=find.indexOf("str", start);
                            Document doc = mynewContentPane.getDocument();
                   try{
                        doc.insertString(doc.getLength(),find.substring(start, end),null);
                   catch(BadLocationException exc){
                        exc.printStackTrace();
                   }Edited by: nasi on May 7, 2010 8:59 PM
    Edited by: nasi on May 8, 2010 12:09 AM
    Edited by: nasi on May 8, 2010 1:37 AM

    Welcome to the Sun forums.
    Subject: writing html file in a jeditorpane
    If you mean a JEditorPane then please use the correct case, so we can be confident you refer to the J2SE class, as opposed to a 3rd party jeditorpane that we neither know, nor support.
    nasi wrote:
    I have read one of your threads titled as "How to insert a string in a JEditorPane (Urgent)". ..I guess you mean [How to insert a string in a JEditorPane (Urgent)|http://forums.sun.com/thread.jspa?threadID=282569] from 2002. A lot has changed since 2002, but I suspect the basic way of appending text to a Document has not.
    BTW - Good to see you arrive with some Google-foo. ;-)
    ..according to this thread I am using insertString() method to write in an jeditorpane. what I am writing is an html file. when I used insertString() method it doesn't show the html content in my jeditotpane. it displays the source code of my html file. I have setContentType("text/html"); moreover I used setText() and it shows the html file correctly but it over writes the previous content of jeditorpane. I've not played much with changing existing documents, but try this source (adapted from code nabbed from the thread you mentioned).
    import javax.swing.text.*;
    import javax.swing.*;
    public class InsertStringTest {
        public static void main(String[] args){
            Runnable r = new Runnable() {
                public void run() {
                    //set GUI
                    JFrame f = new JFrame();
                    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    JEditorPane editorPane = new JEditorPane();
                    editorPane.setContentType("text/html");
                    editorPane.setText("<html><body><h1>Test!</h1><p>");
                    f.getContentPane().add(new JScrollPane(editorPane));
                    String testStr = "This is a test string. " +
                        "This is a test string. This is a test string. \n";
                    f.pack();
                    f.setSize(400,300);
                    f.setVisible(true);
                    //test with insertString()
                    long diff;
                    long startTime = System.currentTimeMillis();
                    Document doc = editorPane.getDocument();
                    for(int i=0; i < 500; i++){
                        try{
                            doc.insertString(doc.getLength(),testStr,null);
                        catch(BadLocationException exc){
                            exc.printStackTrace();
                    diff = System.currentTimeMillis() - startTime;
                    System.out.println("Time spent with doc.insertString() : " + diff);
                    editorPane.setCaretPosition(0);
            SwingUtilities.invokeLater(r);
    }

  • Problem launching Firefox from Windows with file path that contains space characters in the html file's file name

    We have a software application that programmatically launches the default web browser using the Windows shell execute function ("ShellExecuteA" in the "shell32.dll" library of the Windows API) along with a file path for a saved local html file that is to be displayed. In the case that FireFox is the default browser and the file path for the html file contains any space characters in the html file's file name, Firefox (in this case v7.01) will display an error message "File not Found..." and then will also proceed to open tabs for each of the individual words in the file name, launching as the URL path, each individual word appended to ".com".
    In the following example, the path "C:\KSSecOfState\Forms\Kansas Secretary of State - Filings and Forms.htm" when launched programmatically, resulted in the error message "File not Found...Firefox can't find the file at /C:/KSSecOfState/Forms/Kansas." and opened up browser windows for "http://www.secretary.com/", "http://www.of.com/", "http://www.state.com/", "http://www.and.com/", and attempted to launch "http://forms.htm". If the same file (renamed) is launched using the path string "C:\KSSecOfState\Forms\KansasSecretaryOfState-FilingsAndForms.htm" the file opens up correctly in Firefox. Clearly the presence of spaces in the file name is causing the problem.
    I should also note that either path (with or without space characters) works properly if pasted directly into the Firefox URL path menu bar for a live instance of Firefox. The test path strings I used were:
    C:\KSSecOfState\Forms\KansasSecretaryOfState-FilingsAndForms.htm
    C:\KSSecOfState\Forms\Kansas Secretary of State - Filings and Forms.htm
    Does anyone know anything about this problem or how to work around it (other than the obvious answer of taking the spaces out of the file name which is not possible for this application). It seems the problem is specific to Firefox. IE works properly if launched programmatically with spaces in the file name passed to it. I haven't tested other browsers yet.
    Thanks!

    If starting from ShellExecute works the same as starting from the command line then there are two options:<br>
    Put everything inside double quotes<br>
    '''C:\Program Files\Mozilla Firefox\>'''firefox.exe '''"c:\test\svg test.htm"'''<br>
    Convert to a valid url with file:// protocol and percentage-escaping the space<br>
    '''C:\Program Files\Mozilla Firefox\>'''firefox.exe '''file://c:\test\svg%20test.htm'''<br>

  • How to mail the html file using javamail????

    hi
    i have captured the output of a jsp page in a html file....
    now i wish to send it in the mail ( *** not as an attachment)
    ie
    i wish the output of the jsp ie the html file to be displayed in
    the message box (ie text area) ..... and then when recieved by the
    receipient it shoud be displayed in the message area....
    is there any way to do this ........

    well as said by my fellow poster googling could have given you quick results.
    Anyways,if you are unable to do so checkout the below code snippet.
    SendMail.java:
    ===========
    import java.io.File;
    import java.io.FileReader;
    import java.io.BufferedReader;
    import java.util.Properties;
    import javax.mail.Session;
    import javax.mail.Message;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;  
    import javax.mail.internet.MimeMessage;
    import javax.activation.*;
    * @Author RaHuL
    * uses SMTP to send Email.
    public class SendMail {
        /** Method used to read contents of html/text/XML file */
        public String readFile(String fileName){
           StringBuffer sb = new StringBuffer();
           BufferedReader input = null;
           try{
               input = new BufferedReader(new FileReader(fileName));
               String str = null;
               while ((str = input.readLine()) != null){    
                      sb.append(line);
           }catch(Exception exp){
               exp.printStackTrace();
           }finally{
                  try {
                        if (input!= null)  
                          input.close(); 
                   }catch (Exception ex) {
                         ex.printStackTrace();
           return sb.toString();
        /** Send an HTML Email with the specific subject to specfic toAddress based on specified fromAddress & Smtp Hostname
          * and returns true on success.
        public boolean sendMail(String toAddress,String fromAddress,String hostName,String subject,String htmlMessage,String contentType) {
           boolean flag = false;    
            try {
                 String to = toAddress;
                 String from = fromAddress;     
                 String host = hostName;
                 // Setting Mail properties
                 Properties props = new Properties();
                 props.put("mail.smtp.host",host);
                 props.put("mail.debug","true");
                 // Getting a New Instance Generated by the API
                 Session session = Session.getInstance(props);
                   NOTE: a Mail Session could be configured and could be got from the Container via JNDI
                         which could be a better practise.
                // Instantiate a message
                Message msg = new MimeMessage(session);
                //Set message attributes
                msg.setFrom(new InternetAddress(from));
                InternetAddress[] address = {new InternetAddress(to)};
                msg.setRecipients(Message.RecipientType.TO, address);
                // Setting Subject Type
                msg.setSubject(subject);
                msg.setSentDate(new Date());
                // Setting Content Type
                msg.setContent(contentType);
                // Set message content
                msg.setText(htmlMessage);
                //Send the message
                Transport.send(msg);
                flag = true;
            }catch (Exception mex) {
             // Prints all nested (chained) exceptions as well
                mex.printStackTrace();
         return flag;
        public static void main(String args[]){
            SendMail sm = new SendMail();
            String htmlMessage = sm.readFile("myHtmlFile.html");
            boolean flag = sm.sendMail("[email protected]","[email protected]","your.smtp.server","EMail SubJect",htmlMessage,"text/html");
            if(flag)
              System.out.println("MAIL SENT SUCCEFULLY");
             else
              System.out.println("MAIL SENDING FAILURE");                          
    }NOTE:
    =====
    Make sure you inculde javamail & java activation libraries.
    Hope that might help :)
    REGARDS,
    RaHuL

  • Parsing HTML files

    Hello,
    I have a question about parsing HTML files. Usually when I get an HTML file and I need to find all the text in it I do this. This stuff just collects all of the hyperlinks and ignores all the html tags just keeping the actual text. It's fine for smaller files but occasionally I'll hit a large online text file and it will work but its way to slow for large files. I don't need to do all of this HTML tag stripping however for text files. Is there a way to still grab all the text without doing any tag searching to make it faster?
    thanks,
    private void find() throws IOException
            //Really slow for large text files.  Need a way to just use a regular scanner on an internet text file
            new ParserDelegator().parse(new InputStreamReader(myBase.openStream()),
                    new ParserListener(),
                    true); 
         * Inner class for processing all "<a href.."> tags when reading a base URL.
        private class ParserListener extends HTMLEditorKit.ParserCallback
            final String IGNORED_LINKS = "^(http|mailto|\\W).*";
            public void handleStartTag (HTML.Tag t, MutableAttributeSet a, int pos)
                if (t == HTML.Tag.A)
                    String href = (String)(a.getAttribute(HTML.Attribute.HREF));
                    //System.out.println(href);
                    //System.out.println(href.matches(IGNORED_LINKS) + "\t" + href);
                    if (! (href == null || href.matches(IGNORED_LINKS)) && !myURLs.contains(href))
                        myURLs.add(href);
                //TODO fix
                if (t == HTML.Tag.TITLE)
                    String title = (String) (a.getAttribute(HTML.Attribute.TITLE));
                    if (!(title == null))
                        myTitle = title;
                    else myTitle = "No title was found";
            public void handleText (char[] data, int pos)
                myText.append(" ");
                myText.append(data);
        }

    JFactor2004 wrote:
    My question is. If I know an html file is actually just a txt fileThis isn't a question. HTML files are text by definition.
    is it possible to look through it (maybe use something similar to a regular scanner) without doing anything with html.That depends on what you mean by "doing something with HTML". You can certainly read it one line at a time.

  • Corruption of non-HTML files with oracle_smp_chronos.js script element

    When serving a JavaScript file through the portal, the server always appends:
    <SCRIPT SRC="/oracle_smp_chronos/oracle_smp_chronos.js"></SCRIPT>
    which causes a JavaScript syntax error in the browser.
    Why does it append this HTML element to a JS file ?
    How can I stop it ?
    Mik

    The script only uses the event to find the HTMLEntity where the handler was originally called - it then uses this reference to locate the original handler which it replaced - and calls it.
    Things really start to get messy when you use a LINK to submit a form....the original javascript probably does something like this:
    if ((!form.onsubmit) || form.onsubmit()) form.submit();
    Chances are, the original onclick handler did not pass the event, and the event does not get passed to form.onsubmit(). Even if it did that just pushes the error further down - because oracle_smp_chronos.js replaces the onsubmit for forms too. So what happens is:
    user clicks link, this calls Oracles handler
    Oracles Handler does its thing, then identifies the link from the event and calls the original handler
    Original Handler calls form.onsubmit, passing on the event
    but since the onsubmit method has been replaced, its actually calling Oracle's handler again, which does its thing again, then sees that the event references the LINK (not the form) so it calls the backed up Original handler
    Original Handler calls form.onsubmit()
    ...and so on until the stack overflows.
    In the version I've got, this only happens where oracle_smp_chronos thinks the browser is Netscape Navigator or one of its descendants. There is a seperate branch of code for MSIE - it uses 'this' to track back to the original code, ignoring the event. Ironicaly, the MSIE code runs fine in Mozilla 5, and any version of Firefox (I don't have a copy of Navigator v4 to test) so a better solution would be to change the browser identification code to treat everything as MSIE
    HTH
    C.

  • Struts portlet Instance Label problem: Appending the html tags in jsp

    I have created a struts portlet and given it a Instance Label. I have used struts-adapter-html.tld tld in my jsp which is referenced by my struts portlet. But the problem with using this taglib is that the portlet Instance Label is appended to all the html tags on the JSP as a result of which when the page is submitted, formbean will not pick any of the values as the name will not match. Has anyone has faced this kind of problem? How can I prevent the appending of the HTML tags with the portlet Instance Label?
    Please help me overcome this problem..
    Thanks in Advance ...

    1. To begin with, I would not recommend NOT to append portlet instance label to html tags. This is very much required. Take atleast 2 scenarios. If you dropped 2 instances for Same Portlet like News/Articles portlet etc on same page, you need to identify the html fields uniquely for each portlet so that backend java code works properly. Also if you have 2 different portlets assuming you did not give any name to form tag, and if you have html tags with same name, you need to identify them. Remember when portal or desktop is rendered, it is one big html file with html fragmetns from all .portlets files. So I am not sure if there is any option at all, to avoid the appending of instance label value to html tags.
    2. Coming to your usecase, I did had this problem once in 8.1 SPxx long back. All we did was, in the back end code, using BackingFile we could get the intance label value of the portlet. We can get this in pageflow also. Then pass this value and manually append this value to the html field of interest. In your case looks like you have Struts and tld tags. See somehow if you can get portlet instance label in jsp file and pass around to your tag lib code in request parameters etc. This is just one idea. I am not fully aware of your code, so try something along these lines.
    HTH
    Ravi Jegga

  • How to reduce size of html files with JAVA?

    We have html files full of tab char, carriage return, blank space between tags etc. We need to reduce the size of this files.
    HTML files are automatic generated by an engine and we cannot operate on it.
    Those files are in a solaris environment and we need to launch or to schedule something that can clean the files in this environment. The only tools we found are for Win environment so we toughth to make some java classes that parse HTML and clean the files.
    Does anyone know how some tool or the way to clean a file in java?
    Thank You

    Something like this can reduce the number of spaces between tags in the body of the file:public static final String readTextFromFile (File f)
            StringBuffer fileText = new StringBuffer();
            if (f != null && f.exists() && f.isFile())
                try
                    FileReader fr = new FileReader(f);
                    BufferedReader br = new BufferedReader(fr);
                    String s;
                    char c;
                    boolean inTag = false;
                    boolean lastWasSpace = false; // so we don't have a million spaces in a row
                    boolean inBody = false;
                    while ((s = br.readLine()) != null)
                        s += " ";
                        s = searchReplace(s, " ", " ");
                        if (!inBody)
                            int bodyStartPos = s.indexOf("<body");
                            // if not in body yet, reloop
                            if (bodyStartPos == -1)
                                continue;
                            // start it off
                            else
                                inBody = true;
                                s = s.substring(bodyStartPos);
                        for (int i = 0; i < s.length(); i++)
                            c = s.charAt(i);
                            if (c == '>')
                                inTag = false;
                            else if (c == '<')
                                inTag = true;
                            else if (!inTag)
                                if (!(c == ' ' && lastWasSpace))
                                    fileText.append(c);
                                if (c == ' ')
                                    lastWasSpace = true;
                                else
                                    lastWasSpace = false;
                    if (br != null)
                        br.close();
                    if (fr != null)
                        fr.close();
                catch (Exception e)
                    System.err.println(f + ": Error reading file");
            return fileText.toString();
        }

Maybe you are looking for