Classpath resource path loading:
Velocity. properties file configuration <喎?http: www.bkjia.com kf ware vc " target="_blank" class="keylink"> VcD4KPHA + PC9wPgo8cHJlIGNsYXNzPQ = "brush: java;"> file. resource. loader. class = org. apache. velocity. runtime. resource. loader. ClasspathResourceLoaderinput. encoding = UTF-8output.encoding =Servlet code
/*** Cn. jbit. servlet. listServlet * 2014-5-8 * gyy */package cn. jbit. servlet; import java. io. IOException; import java. io. inputStream; import java. util. arrayList; import java. util. list; import java. util. properties; import javax. servlet. http. httpServletRequest; import javax. servlet. http. httpServletResponse; import org. apache. velocity. template; import org. apache. velocity. app. velocityEngine; import org. apache. velocity. context. context; import org. apache. velocity. tools. view. velocityViewServlet; import cn. jbit. entity. order; public class ListServlet extends VelocityViewServlet {private static final long serialVersionUID =-response; @ Override protected Template handleRequest (HttpServletRequest request, HttpServletResponse response, Context ctx) {List
Orders = new ArrayList
(); Order order = new Order (); order. setItem ("Iphone4"); order. setType ("Smartphone"); order. setPrice ("5900"); orders. add (order); order = new Order (); order. setItem ("PSP3003"); order. setType ("multimedia products"); order. setPrice ("1750"); orders. add (order); order = new Order (); order. setItem ("Kinest"); order. setType ("somatosensory device"); order. setPrice ("1150"); orders. add (order); // initialize the Velocity engine VelocityEngine ve = new VelocityEngine (); InputStream is = this. getClass (). getResourceAsStream ("/velocity. properties "); Properties properties = new Properties (); try {properties. load (is);} catch (IOException e) {e. printStackTrace ();} ve. init (properties); Template template = ve. getTemplate ("list. vm "); // assign ctx to the elements in the template. put ("orders", orders); return template ;}}
Velocity Template File
Velocity TemplateDear customer, your order is:
| Item |
Various |
Price |
# Foreach ($ order in $ orders)
| $ Order. item |
$ Order. type |
$ Order. getPrice () |
# End
Display result
Webapp loading:
Velocity. properties file configuration
resource.loader = webappwebapp.resource.loader.class = org.apache.velocity.tools.view.servlet.WebappLoader webapp.resource.loader.path = /WEB-INF/vm/input.encoding = UTF-8output.encoding = UTF-8
Servlet code
/*** Cn. jbit. servlet. listServlet * 2014-5-8 * gyy */package cn. jbit. servlet; import java. util. arrayList; import java. util. list; import javax. servlet. http. httpServletRequest; import javax. servlet. http. httpServletResponse; import org. apache. velocity. template; import org. apache. velocity. context. context; import org. apache. velocity. tools. view. velocityViewServlet; import cn. jbit. entity. order; public class ListServlet extends VelocityViewServlet {private static final long serialVersionUID =-encrypted; @ Overrideprotected Template handleRequest (HttpServletRequest request, HttpServletResponse response, Context ctx) {List
Orders = new ArrayList
(); Order order = new Order (); order. setItem ("Iphone4"); order. setType ("Smartphone"); order. setPrice ("5900"); orders. add (order); order = new Order (); order. setItem ("PSP3003"); order. setType ("multimedia products"); order. setPrice ("1750"); orders. add (order); order = new Order (); order. setItem ("Kinest"); order. setType ("somatosensory device"); order. setPrice ("1150"); orders. add (order); // assign ctx to the element in the template. put ("orders", orders); return getTemplate ("list. vm ");}}
Web. xml deployment file configuration
Well, it's over. I hope it will be useful to everyone.