Freemarker 布爾類型與字符串異常處理

1、後臺傳值html

setAttr("multi", true);

 

2、異常信息java

<input type="hidden" name="multi" value="FreeMarker template error (DEBUG mode; use RETHROW in production!):    
Can't convert boolean to string automatically, because the "boolean_format" setting was "true,false", which is the legacy default computer-language format, and hence isn't accepted.    
----    
Tip: If you just want "true"/"false" result as you are generting computer-language output, use "?c", like ${myBool?c}.    
----    
Tip: You can write myBool?string('yes', 'no') and like to specify boolean formatting in place.    
----    
Tip: If you need the same two values on most places, the programmers should set the "boolean_format" setting to something like "yes,no".    
----     
----     
FTL stack trace ("~" means nesting-related):     
- Failed at: ${multi} [in template "page/buss/upload/dialog.html" at line 32, column 42]     
----     
Java stack trace (for programmers):     
----     
freemarker.core._MiscTemplateException: [... Exception message was already printed; see it above ...]     
at freemarker.core.Configurable.formatBoolean(Configurable.java:589)     
at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:360)     
at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)     
at freemarker.core.DollarVariable.accept(DollarVariable.java:40)     
at freemarker.core.Environment.visit(Environment.java:312)     
at freemarker.core.MixedContent.accept(MixedContent.java:62)     
at freemarker.core.Environment.visit(Environment.java:312)     
at freemarker.core.Environment.process(Environment.java:290)     
at freemarker.template.Template.process(Template.java:312)     
at com.jfinal.render.FreeMarkerRender.render(FreeMarkerRender.java:145)     
at com.jfinal.core.ActionHandler.handle(ActionHandler.java:97)     
at com.mlh.handler.GlobalHandler.handle(GlobalHandler.java:30)     
at com.jfinal.ext.handler.ContextPathHandler.handle(ContextPathHandler.java:47)     
at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:72)     
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)     
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)     
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)     
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)     
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)     
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)     
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)     
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)     
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)     
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)     
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)     
at org.eclipse.jetty.server.Server.handle(Server.java:365)     
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)     
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)     
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)     
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)     
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)     
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)     
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)     
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)     
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)     
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)     
at java.lang.Thread.run(Thread.java:745)

3、處理方法session

由原來app

<input type="hidden" name="multi" value="${multi!}"/>

修改成eclipse

<input type="hidden" name="multi" value="${multi?string('true','false')}"/>
相關文章
相關標籤/搜索