jsp if 循环语句满足条件后输出一段文字
<%if(test[2].toString().equals("1")){%><td>及格</td>
<% }else if(test[2].toString().equals("0")){%>
<td>不及格</td>
<% }%>
</td>
想要实现满足条件时输出及格 不满足输出不及格。写了代码后出错怎么回事。求帮助 --------------------编程问答-------------------- 空指针异常???
你先判断test跟test[2]是否为空!!!
--------------------编程问答-------------------- 在jsp中写代码又乱又费劲
还是去看看jstl吧
整洁简单多了 --------------------编程问答-------------------- 可以用c标签
页面上方要导入标签<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:if test="${as=='1'}">
<td>及格</td>
</c:if>
<c:if test="${as=='0'}">
<td>不及格</td>
</c:if>
后台:
request.setAttribute("as", as); --------------------编程问答-------------------- 楼主的代码写的有问题,我贴上我认为的写法:
<%if (test == null || test.length < 2) {%>
<% } else if (test[2].toString().equals("1")){ %>
<td>及格</td>
<% } else if (test[2].toString().equals("0")){%>
<td>不及格</td>
<%} else {%>
<td>未知的结果</td>
<%}%>
你的可能出错的地方
<%if(test[2].toString().equals("1")){//直接使用test,有可能是空或没有2下标%>
<td>及格</td>
<% }else if(test[2].toString().equals("0")){//如果不为空,并且有下标2,但是结果不是0和1你的判断也不起作用%>
<td>不及格</td>
<% }%>
</td>//这里多了个</td> --------------------编程问答--------------------
<% ......各种逻辑判断...... 最后得到String out = "及格"(或者不及格,或者未知错误)%>
<td><%=out %></td> 是不是会比你的简洁点 --------------------编程问答--------------------
好吧,比我的简洁。我只是告诉楼主应该如何写而已,思路很重要。 --------------------编程问答-------------------- 抱的什么错误。
补充:Java , Web 开发