You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@JetAnnotations.Tags
public class MyTags {
private static final TimedSizeCache cache = new TimedSizeCache(128);
public static void cache(JetTagContext ctx, String name, int timeout) throws IOException {
Map<String, Object> context = new HashMap<String, Object>();
context.put("userlist", DaoUtils.getUserList());
String templateName = "/users.jetx";
JetTemplate template = ctx.getEngine().getTemplate(templateName);
OutputStream out = new java.io.ByteArrayOutputStream();
template.render(context, out);
String value = out.toString();
System.out.println(value+"\n");
ctx.getWriter().print(value);
out.close();
}
}
报以下错误:
jetbrick.template.runtime.InterpretException: tag invoke error: demo.MyTags#cache()
template: index.jetx: 527,5
-------------------------------------------------------------------------------
525: <div>
526:
527: #tag cache("CACHE-ME-30-MIN", 30*60)
^ -- here
528: 今天天气:
529: #end
-------------------------------------------------------------------------------
] with root cause
java.lang.NullPointerException
at jetbrick.template.runtime.JetTagContext.getWriter(JetTagContext.java:75)
at jetbrick.demo.MyTags.cache(MyTags.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at jetbrick.bean.MethodInfo.invoke(MethodInfo.java:192)
at jetbrick.template.resolver.tag.TagInvoker.invoke(TagInvoker.java:41)
at jetbrick.template.parser.ast.AstDirectiveTag.doInvoke(AstDirectiveTag.java:70)
at jetbrick.template.parser.ast.AstDirectiveTag.execute(AstDirectiveTag.java:51)
at jetbrick.template.parser.ast.AstStatementList.execute(AstStatementList.java:202)
at jetbrick.template.parser.ast.AstTemplate.execute(AstTemplate.java:37)
at jetbrick.template.JetTemplateImpl.doInterpret(JetTemplateImpl.java:156)
at jetbrick.template.JetTemplateImpl.render(JetTemplateImpl.java:147)
at jetbrick.template.web.springmvc.JetTemplateView.renderMergedTemplateModel(JetTemplateView.java:37)
at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1228)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1011)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:955)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
The text was updated successfully, but these errors were encountered:
自定义 tag 实现如下:
报以下错误:
The text was updated successfully, but these errors were encountered: