jsp中 <% %>的问题

我不理解<% %>这个是干嘛的 比如如下代码
<%
String username = request.getParameter("username");
String password = request.getParameter("password");

boolean loginsuccess = false;

if (loginsuccess){
%>
<jsp:forward page="welcome.jsp"></jsp:forward>
<%
}
else{
%>
<jsp:forward page="error.jsp"></jsp:forward>
<%
}
%>

为什么有这么多<% %>? 是什么意思啊 怎么看着格式不对啊 一对<% %>里面有下面这个 这根本不是一个语句嘛
<%
}
else
{
%>

先了解下它的概念:

JSP允许将编写的Java代码块嵌入到JSP中。具体做法是:将Java代码段置于“<%”和“%>”之间。其用法与表达式类似,只不过在标记开始处没有等号,在标记结尾之前要有分号。

代码块就是我们熟知的Scriptlets。如果单单是Scriptlets,对于HTML文本起不了任何作用。而每次Scriptlets包含被执行的Java代码的时候,JSP就会被调用。

<% %>
这个的作用是在jsp页面中嵌入java代码
像if else 都是属于java的,所以必须用它包起来。
现在这个比较少用了,都用jstl标签或EL表达式了。。。

希望对你有所帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-25
举例如下:
<%
String username="abc";
%>
下面两句代码是一样的效果,
<% %> 标识里面的是jsp代码.
<%=变量 %> 是 <% out.println(变量) %> 的简写方式
用户:<%=username%>
用户:<% out.println(username) %>本回答被网友采纳
第2个回答  2010-07-11
这是和上一个<% %>的内容连着的啊。上一个<% %>的if (loginsuccess){
语句没有写完啊,所以在<%
}
else
{
%> 补充完
相似回答