请问一下JSP师傅一个初学者常犯的错误!

来源:百度知道 编辑:UC知道 时间:2024/05/24 16:27:19
错误提示如下:
E:\Tomcat 5.0\work\Catalina\localhost\test2009\org\apache\jsp\login_jsp.java:74: "else" 不带有 "if"
else
^
1 错误
我也知道去掉,else上面的%><%就正确了。if(){}else{}是连接起来写,这我也知道,而且在JSP中是将java代码放在<% %>里面,我在下面的程序里多了一对<% %>没写成
<%
}
else
{
%>
难道就有错吗?请师傅帮帮我,指点我一下,谢谢,我们老师只能帮我改错,不能说出所以缘,也就是为什么?

<%@ page language="java"contentType="text/html;charset=gb2312"%>
<html>
<body>
<head>
<title>
登录的第二个页面!
</title>
</head>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
%>
<%
if((username==null||username.equals(""))||(password==null||password.equals("")))
{
%>
<jsp:forward page="login.html"/>
<%
}

非要说一个理由的话,我想应该是
<%
}
%>
<%
else
{
%>
这其中的%> <% 之间不是java代码,而是html语言,虽然在我们看来是空白的,但是html的空白跟java的空白不一样,我们甚至可以假想成html的空白被编译成一条java的out.print("");语句,这样编译后if跟else就不连续了,式想一下,if跟else之间插入别的语句会不会出错

我的解释还说的通吧,不过这也纯属我个人臆测,希望对你有点帮助

<%@ page language="java"contentType="text/html;charset=gb2312"%>
<html>
<body>
<head>
<title>
登录的第二个页面!
</title>
</head>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");

if((username==null||username.equals(""))||(password==null||password.equals("")))
{
%>
<jsp:forward page="login.html"/>
<%
}
else
{
%>
<jsp:forward page="successLogin.jsp">
<jsp:para