1 package org.cateproject.view.velocity;
2
3 import java.io.IOException;
4 import java.io.Writer;
5
6 import org.apache.velocity.context.InternalContextAdapter;
7 import org.apache.velocity.exception.MethodInvocationException;
8 import org.apache.velocity.exception.ParseErrorException;
9 import org.apache.velocity.exception.ResourceNotFoundException;
10 import org.apache.velocity.runtime.parser.node.Node;
11 import org.springframework.web.servlet.support.RequestContext;
12 import org.springframework.web.servlet.view.AbstractTemplateView;
13
14 public class CateSpringErrorsDirective extends CateBlockDirective {
15
16 public CateSpringErrorsDirective() {
17 super("path");
18 }
19
20 @Override
21 public String getName() {
22 return "springErrors";
23 }
24
25 @Override
26 public boolean render(InternalContextAdapter context, Writer writer,
27 Node node) throws IOException, ResourceNotFoundException,
28 ParseErrorException, MethodInvocationException {
29 String name = getArgument(context, node, 0);
30 RequestContext requestContext = (RequestContext)context.get(AbstractTemplateView.SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE);
31 context.put("errors", requestContext.getErrors(name));
32 node.jjtGetChild(1).render(context, writer);
33 return true;
34
35 }
36
37 }