1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.util;
19
20 import java.io.CharArrayWriter;
21 import java.io.IOException;
22
23 import javax.servlet.http.HttpServletRequest;
24 import javax.servlet.http.HttpServletResponse;
25
26 import org.apache.struts2.views.velocity.VelocityManager;
27 import org.apache.velocity.context.Context;
28 import org.apache.velocity.exception.MethodInvocationException;
29 import org.apache.velocity.exception.ParseErrorException;
30 import org.apache.velocity.exception.ResourceNotFoundException;
31
32 import com.opensymphony.xwork2.util.ValueStack;
33
34
35 /***
36 * Struts velocity related util.
37 *
38 */
39 public class VelocityStrutsUtil extends StrutsUtil {
40
41 private Context ctx;
42
43 public VelocityStrutsUtil(Context ctx, ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
44 super(stack, request, response);
45 this.ctx = ctx;
46 }
47
48 public String evaluate(String expression) throws IOException, ResourceNotFoundException, MethodInvocationException, ParseErrorException {
49 CharArrayWriter writer = new CharArrayWriter();
50 VelocityManager.getInstance().getVelocityEngine().evaluate(ctx, writer, "Error parsing " + expression, expression);
51
52 return writer.toString();
53 }
54
55 }