第一步,看标签。
首先我们要弄清楚,自己买到的是酿造酱油,还是勾兑酱油。传统工艺酿造的酱油,主要原料是大豆、小麦、食用盐。超市里卖的“酿造酱油”,除了用到各种天然食材外,还加入少量的添加剂,用于防腐和提色。而现代工艺制造出的勾兑酱油,它的标签上会列出多种化学添加剂,比如谷氨酸钠、肌苷酸二钠、鸟苷酸二钠、琥珀酸二钠、苯甲酸钠、山梨酸、焦糖色素、三氯蔗糖、糖精钠、蛋白糖等。勾兑的酱油由于添加了大量的防腐剂和色素,常吃对人体毫无益处。因此,我们还是尽量买酿造酱油为好。
第二步,看泡沫。
不是所有称自己是“酿造酱油”的酱油,都是好酱油。要判断酱油的质量,可轻轻地晃动一下酱油瓶,看看摇出的泡沫。酿造酱油的泡沫比较均匀,而且不易散去。配制勾兑的酱油产生的泡沫大小不一,当你停止晃动瓶子,这些泡沫就会快速散去。毛发水酱油也属于勾兑酱油,所以,如果配料表写的是“酿造酱油”,而泡沫显示为“勾兑酱油”,就要小心了。
第三步,看瓶壁。
制作毛发水酱油必须添加大量色素和增稠剂,所以,我们可以通过一个简单的方法鉴别它们。将酱油瓶倾斜或倒立,然后再把瓶子放正直立。如果是毛发水酱油,就会粘在瓶壁上,留下一片黑色的污垢,半天都流不干净。这样的酱油,您可千万别把它买回家。
FreeMarker template error:
The following has evaluated to null or missing:
==> zxzx.logo [in template "zixun/mip_baoguang_xiangxi.ftl" at line 232, column 30]
Tip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??
The failing instruction (FTL stack trace):
----------
==> #if zxzx.logo != "" [in template "zixun/mip_baoguang_xiangxi.ftl" at line 232, column 25]
----------
Java stack trace (for programmers):
----------
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:98)
at freemarker.core.EvalUtil.compare(EvalUtil.java:230)
at freemarker.core.EvalUtil.compare(EvalUtil.java:148)
at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:103)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.MixedContent.accept(MixedContent.java:93)
at freemarker.core.Environment.visitByHiddingParent(Environment.java:286)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:193)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:509)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:103)
at freemarker.core.Environment.visitByHiddingParent(Environment.java:286)
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:86)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.MixedContent.accept(MixedContent.java:93)
at freemarker.core.Environment.visit(Environment.java:265)
at freemarker.core.Environment.process(Environment.java:243)
at freemarker.template.Template.process(Template.java:277)
at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:366)
at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:283)
at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:233)
at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:574)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.bbaqw.mip.html.filter.CacheFilter.doFilter(CacheFilter.java:86)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.bbaqw.mip.util.AppUrlFilter.sendMsite(AppUrlFilter.java:293)
at com.bbaqw.mip.util.AppUrlFilter.doFilter(AppUrlFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:748)