我正在尝试创建一个HTML报告,该报告将打印出不同的订单项。如果该项目为null,那么我希望它跳过该项目,但是我希望对不为null的项目进行编码。我的代码当前在我的if语句上给我一个非法的表达式错误。我想我有某种变量类型问题。
$ary = array();
foreach($results2 as $row)
{
if(!in_array($row['ITEM'], $ary))
{
echo $row['STK_ROOM']."-".$row['BIN']."<br />";
$ary[] = $row['ITEM'];
}
}
答案 0 :(得分:0)
值得注意的第一点是<%= ... %>
与<% ... %>
不同。
您不能像现在使用的那样使用JSP表达式。
可以将=
放在if
子句之前,并使用简单的JSP scriplet标记,否则,如果您使用的是JSP表达式,则可以像这样使用它:
<tr><td>
<%= (rs.getString("delivery0delivery_address_2") != null) ? rs.getString("delivery0delivery_address_2") : "<br>"%>
您可以访问JSP - what's the difference between “<% … %>” VS “<%= … %>”以清楚地了解两个JSP标签之间的区别。
答案 1 :(得分:0)
<%= (rs.getString("delivery0delivery_address_2") != null) ? rs.getString("delivery0delivery_address_2") : "<br>" %>
或者如果您想使用完整的if语句
<% if(rs.getString("delivery0delivery_address_2") != null){ %>
<%=rs.getString("delivery0delivery_address_2")%>
<% }else{ %>
<br>
<% } %>
让我告诉你一些事情,在Java Web开发中不鼓励使用scriplets。使用自定义标签库在前端显示Java变量/列表。
而且您不应该在前端代码上设置结果。将业务逻辑与演示视图分开。