我正在尝试实现以下代码,但结果却没有显示任何内容。
<li class="cleanup">Garantie:<span><?php (get_post_meta(get_the_ID(), 'Garantie', true); ?> Jahre</span><?php echo (get_post_meta(get_the_ID(), 'Garantie', true) >= 2) ? ('<span class="pro_con pro"><i class="fa fa-check"></i>Lange Garantie: ' . <?php (get_post_meta(get_the_ID(), 'Garantie', true)); ?> . ' Jahre</span>') : ('<span class="pro_con pro"><i class="fa fa-check"></i>Standart Garantie: ' . <?php (get_post_meta(get_the_ID(), 'Garantie', true)); ?> . ' Jahre</span>'; ?>) </li>
该字段应该可用且函数get_post_meta
确实有效!
我认为我有语法错误,但我不知道在哪里?
有什么建议我做错了吗?
感谢您的回复!
答案 0 :(得分:2)
你有一个额外的括号,改为
SEVERE: Servlet.service() for servlet [jsp] in context with path [/get] threw exception [An exception occurred processing JSP page /NewFile2.jsp at line 27
24:
25: bImage = ImageIO.read(new ByteArrayInputStream(buf));//give the path of an image
26: ByteArrayOutputStream baos = new ByteArrayOutputStream();
27: ImageIO.write( bImage, "jpg", baos );
28: baos.flush();
29: byte[] imageInByteArray = baos.toByteArray();
30: baos.close();
Stacktrace:] with root cause
java.lang.IllegalArgumentException: image == null!
at javax.imageio.ImageTypeSpecifier.createFromRenderedImage(ImageTypeSpecifier.java:925)
at javax.imageio.ImageIO.getWriter(ImageIO.java:1591)
at javax.imageio.ImageIO.write(ImageIO.java:1578)
at org.apache.jsp.NewFile2_jsp._jspService(NewFile2_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
顺便说一下,你必须登录devel env,日志有很多帮助。
答案 1 :(得分:1)
你在Ternary运算符中有一些额外的关闭?>
php标记。
修改后的代码:
<li class="cleanup">Garantie:
<span>
<?php get_post_meta(get_the_ID(), 'Garantie', true); ?> Jahre
</span>
<?php
echo (get_post_meta(get_the_ID(), 'Garantie', true) >= 2) ?
('<span class="pro_con pro"> <i class="fa fa-check"></i>Lange Garantie: ' .
(get_post_meta(get_the_ID(), 'Garantie', true)) . ' Jahre</span>') :
('<span class="pro_con pro"> <i class="fa fa-check"></i>Standart Garantie: ' .
(get_post_meta(get_the_ID(), 'Garantie', true)) . ' Jahre</span>' ) ;
?>
</li>
答案 2 :(得分:1)
试试这个:
<li class="cleanup">Garantie:<span><?php (get_post_meta(get_the_ID(), 'Garantie', true); ?> Jahre</span>
<?php echo (get_post_meta(get_the_ID(), 'Garantie', true) >= 2) ? '<span class="pro_con pro"><i class="fa fa-check"></i>Lange Garantie: ' . get_post_meta(get_the_ID(), 'Garantie', true) . ' Jahre</span>' : '<span class="pro_con pro"><i class="fa fa-check"></i>Standart Garantie: ' . get_post_meta(get_the_ID(), 'Garantie', true) . ' Jahre</span>'; ?> </li>
答案 3 :(得分:1)
这样的事情怎么样:
<li class="cleanup">
Garantie:
<span>
<?php echo get_post_meta(get_the_ID(), 'Garantie', true); ?> Jahre
</span>
<?php
if(get_post_meta(get_the_ID(), 'Garantie', true) >= 2){
echo '<span class="pro_con pro"><i class="fa fa-check"></i>Lange Garantie: ';
echo get_post_meta(get_the_ID(), 'Garantie', true);
}else{
echo '<span class="pro_con pro"><i class="fa fa-check"></i>Standart Garantie: ';
echo get_post_meta(get_the_ID(), 'Garantie', true);
}
echo " Jahre</span>";
?>
</li>
毕竟,可读性很重要......