在Tomcat 7.0.54中执行以下JSP内容时出现以下错误
<%
Object one = new Long(1);
Long value = Boolean.TRUE ? (Long)one : -1l;
%>
错误:
javax.servlet.ServletException: java.lang.Error: Unresolved compilation problem:
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:348)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
任何指向问题原因的指针都将帮助我更好地理解问题。似乎jsp成功编译成.class文件,但在运行时我遇到了这个问题。提前谢谢。
答案 0 :(得分:1)
尝试
<%
Object one = new Long(1);
Long value = (Boolean.TRUE ? (Long)one : -1l);
%>
答案 1 :(得分:1)
-1l
不是Long
对象,它是原始数据long
试试这个:
<%
Object one = new Long(1);
Long value = Boolean.TRUE ? (Long)one : new Long(-1);
%>
当您使用JDK编译和运行代码时,所提到的代码可以找到,似乎tomcat中可能存在一个错误,它在编译之前尝试将JSP转换为Java
答案 2 :(得分:0)
Object one = (long) 1;
Long value = Boolean.TRUE ? (Long)one : -1l;
尝试使用前面的代码而不是你的代码
在java中,以下是“不必要的拳击到长”
Object one = new Long(1);