Calculation Based on Model
import java.io.StringWriter; import java.io.Writer; import java.util.ArrayList; import java.util.Collection; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; public class ProductList { public static void main(String[] args) throws Exception { Velocity.init(); Template t = Velocity.getTemplate("./src/model.vm"); VelocityContext ctx = new VelocityContext(); Collection products = new ArrayList(); products.add(new Product("Product 1", 142.919)); products.add(new Product("Product 2", 133.199)); products.add(new Product("Product 3", 112.991)); ProductListModel model = new ProductListModel(products); ctx.put("model", model); Writer writer = new StringWriter(); t.merge(ctx, writer); System.out.println(writer); } } ------------------------------------------------------------------------------------- import java.util.Collection; import java.util.Iterator; public class ProductListModel { private Collection productList = null; private double totalPrice = Double.MIN_VALUE; public ProductListModel(Collection aProductList) { productList = aProductList; } public Collection getProductList() { return productList; } public void setProductList(Collection aProductList) { productList = aProductList; } public double getTotalPrice() { if (totalPrice == Double.MIN_VALUE) { totalPrice = 0; Iterator itr = productList.iterator(); while (itr.hasNext()) { Product p = (Product) itr.next(); totalPrice += p.getPrice(); } } return totalPrice; } } ------------------------------------------------------------------------------------- public class Product { private String name; private double price; public Product(String aName, double aPrice) { name = aName; price = aPrice; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } } ------------------------------------------------------------------------------------- #foreach($product in $model.productList) $product.Name $$product.Price #end Total Price: $$model.totalPrice
1. | Calculation In Java | ![]() |