韩咏红:耶伦向中国过剩产能发难
作者: 联合早报 日期:2024-04-01 05:00 阅读:0 来源:联合早报
据联合早报报道
北京友人最近闲来无事到销售厅看国产电动车。不看则以,一看惊然发现中国车企吉利旗下一款电动车,不论配置、舒适度或用料,都优于他家里正开着的德国原装进口奔驰E。
“全面碾压奔驰E啊……”友人向我叙述这个情境,语气中充满感慨与震惊——中国国产车不仅造车技术大幅提升,连舒适度都赶上了欧洲车。另一名不开车的友人更夸张,她无意中看到小米最新电动车的视频广告,被SU7的操作简易性与价格震慑到,心动想去学开车了。
谁能想到呢?经过10多年的艰苦耕耘,中国国产车已非吴下阿蒙。2023年中国在世人的惊叹中取代日本成为世界第一大汽车出口国,同年最后一季度中国比亚迪也超越了美国巨头特斯拉,成为全球最大的纯电动车制造商。
请订阅或登录,以继续阅读全文!
FreeMarker template error (DEBUG mode; use RETHROW in production!):
The following has evaluated to null or missing:
==> info.copyRight [in template "1/default/newsDetail.html" at line 740, column 24]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like 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 parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${info.copyRight.content!""} [in template "1/default/newsDetail.html" at line 740, column 22]
----
Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:85)
at freemarker.core.UnexpectedTypeException.(UnexpectedTypeException.java:48)
at freemarker.core.NonHashException.(NonHashException.java:49)
at freemarker.core.Dot._eval(Dot.java:48)
at freemarker.core.Expression.eval(Expression.java:83)
at freemarker.core.DefaultToExpression._eval(DefaultToExpression.java:88)
at freemarker.core.Expression.eval(Expression.java:83)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.process(Environment.java:309)
at freemarker.template.Template.process(Template.java:384)
at com.jspxcms.common.file.FtpFileHandler$11.doInFtp(FtpFileHandler.java:270)
at com.jspxcms.common.file.FtpTemplate.execute(FtpTemplate.java:58)
at com.jspxcms.common.file.FtpFileHandler.storeFile(FtpFileHandler.java:257)
at com.jspxcms.core.html.PInfo.doMakeHtml(PInfo.java:105)
at com.jspxcms.core.html.PInfo.makeHtml(PInfo.java:48)
at com.jspxcms.core.html.HtmlServiceImpl.makeInfo(HtmlServiceImpl.java:56)
at com.jspxcms.core.html.HtmlServiceImpl$$FastClassBySpringCGLIB$$ca793f53.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:736)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:671)
at com.jspxcms.core.html.HtmlServiceImpl$$EnhancerBySpringCGLIB$$32e39db9.makeInfo()
at com.jspxcms.core.service.impl.InfoServiceImpl.updateHtml(InfoServiceImpl.java:879)
at com.jspxcms.core.service.impl.InfoServiceImpl.updateHtml(InfoServiceImpl.java:843)
at com.jspxcms.core.service.impl.InfoServiceImpl.save(InfoServiceImpl.java:155)
at com.jspxcms.core.service.impl.InfoServiceImpl$$FastClassBySpringCGLIB$$3b2ee07e.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:736)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:671)
at com.jspxcms.core.service.impl.InfoServiceImpl$$EnhancerBySpringCGLIB$$3a31141a.save()
at com.jspxcms.ext.collect.CollectorImpl$CollectThread.doCollect(CollectorImpl.java:143)
at com.jspxcms.ext.collect.CollectorImpl$CollectThread.run(CollectorImpl.java:44)