Core Java| JSP| Servlets| XML| EJB| JEE5| Web Services| J2ME| Glossary| Questions?
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification
  Java Applet
Questions
Comments

Show output as a xml file using Velocity

                         

This Example shows you how to show output as a xml file in velocity. The method used in this example are described below:-  
1:- Initialize velocity run time engine through method  init().
2:- Create object of VelocityContext Class.
3:- Create Template class object, Template  class object is used for controlling template methods and properties.

template.merge(context, writer): Merge method of the Template class is used here for merging  the VelocityContext class object to produce the output.

#foreach( $stu in $stuList ): This works same as the for loop of java but with some enhanced functionality.

Here in the code given below we will take some values in map object and then add this map object in list. With the help this list object we will create output for all the given values as a xml file.

 

 

XMLOutput.java

package velocity.XML;

import java.io.*;
import java.util.*;
import org.apache.velocity.*;
import org.apache.velocity.app.*;

public class XMLOutput {

    public static void main(String[] args)
            throws Exception {
        VelocityEngine ve = new VelocityEngine();
        ve.init();

        ArrayList list = new ArrayList();
        Map map = new HashMap();

        map.put("rno""1");
        map.put("name""komal");
        map.put("libno"1001);
        list.add(map);

        map = new HashMap();
        map.put("rno""2");
        map.put("name""santosh");
        map.put("libno"1002);
        list.add(map);

        map = new HashMap();
        map.put("rno""3");
        map.put("name""ajay");
        map.put("libno"1003);
        list.add(map);

        VelocityContext context = new VelocityContext();
        context.put("stuList", list);
        Template t = ve.getTemplate("./src/velocity/XMLOutput/xml.vm");
        StringWriter writer = new StringWriter();

        t.merge(context, writer);
        System.out.println(writer.toString());
    }
}

XML.vm

<?xml version="1.0"?>
<student>

#foreach( $stu in $stuList )
  <studentDetail>
    <rno>$stu.rno</rno>
    <name>$stu.name</name>
  </studentDetail>

#end

#foreach( $stu in $stuList )
  <libCardDetail>
    <rno>$stu.rno</rno>
    <libno>$stu.libno</libno>
  </libCardDetail>

#end
</studentlist>

Output :

<?xml version="1.0"?>
<student>

  <studentDetail>
    <rno>1</rno>
    <name>komal</name>
  </studentDetail>

  <studentDetail>
    <rno>2</rno>
    <name>santosh</name>
  </studentDetail>

  <studentDetail>
    <rno>3</rno>
    <name>ajay</name>
  </studentDetail>


  <libCardDetail>
    <rno>1</rno>
    <libno>1001</libno>
  </libCardDetail>

  <libCardDetail>
    <rno>2</rno>
    <libno>1002</libno>
  </libCardDetail>

  <libCardDetail>
    <rno>3</rno>
    <libno>1003</libno>
  </libCardDetail>
</studentlist>

Download code

                         

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Join and Excel yourself with our Online instructor led training sessions
Training Courses
Tell A Friend
Your Friend Name

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Indian Software Development Company | iPhone Development Company in India | Flex Development Company in India | Java Training Delhi | Java Training at Noida |

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.