suliuyes 2009-07-15 10:40
浏览 325
已采纳

JSP里加return就会无法编译说Unreachable code

eclipse版本:3.3.2
MyEclipse版本:6.6
tomcat版本:5.5.27
已经是最简单的代码了,在JSP里面,只要加上return,就会报错,去掉return就没问题:
比如:

Java code
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String b=request.getParameter("a");
if("1".equals(b)){
System.out.println("1");
return;
}else{
System.out.println("2");
return;
}
%>
<%!
public void method(){

}
%>

运行的时候,报错:
org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 11 in the jsp file: /index.jsp
Unreachable code
8: System.out.println("2");
9: return;
10: }
11: %>
12: <%!
13: public void method(){
14:

————————————————————————————
启动服务器,访问这个jsp就报错。是不是哪里的配置没对?

  • 写回答

5条回答 默认 最新

  • wanghaolovezlq 2009-07-15 10:48
    关注

    你这里
    if("1".equals(b)){
    System.out.println("1");
    return;
    }else{
    System.out.println("2");
    return;
    }
    两个return就把下面所有的代码都变成“不可到达了”,那自然就要报这个异常,

    如果你的jsp就只写这么点应该就不会报异常了

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String b=request.getParameter("a");
    if("1".equals(b)){
    System.out.println("1");
    return;
    }else{
    System.out.println("2");
    return;
    }
    %>

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?