当我执行以下代码时:
<script type="text/javascript">
function UploadMessage() {
<%! String message = null;
boolean AttemptToUploadFile = false;
%>
<%
message = (String)request.getAttribute("SuccessMessage");
if(message != null) {
%>
alert("File Successfully Uploaded !");
<% } %>
<% else if((Boolean)request.getAttribute("UploadAttempt")) { %>
alert("Unable to upload file");
<%}%>
}
我收到以下错误:
media/work documents/UnderTest/NetbeansCurrent/ProjectSnippets/build/generated/src/org/apache/jsp/portfolio_005fone_jsp.java:252: error: 'else' without 'if'
else if((Boolean)request.getAttribute("UploadAttempt")) {
1 error
错误显示if
没有else
,但我已在else
之后立即放置if
。那为什么错误?
答案 0 :(得分:6)
您必须将它们放在同一个脚本块中。只需删除结尾%>
和开头<%
:
<% }
else if (...
答案 1 :(得分:2)
您的错误在以下两行:
<% } %>
<% else if((Boolean)request.getAttribute("UploadAttempt")) { %>
在生成的java代码中,它们(基本上)将被翻译为:
}
out.append("\n");
else if(...
所以你需要将右括号放在同一个scriptlet中:
<% } else if((Boolean)request.getAttribute("UploadAttempt")) { %>
答案 2 :(得分:0)
你没有在if
之后立即放置它。它之间有%>
+换行符+ <%
。 JSP必须在生成的代码中输出换行符,因此在生成的java代码中out.print("\n\t\t");
和}
之间会出现else if
(包括缩进)。