${...}支持脚本,使用它的JSP更容易维护,${}形式就是所谓的el表达式,用它就可以在jsp页面的内建对象中(例如:page,request,session,application)直接取值来用.
而 <% %> 可以理解为在jsp中加java代码的标签,就是在这里面你可以写java代码,在编译器编译成java源代码时会原封不动的copy到servlet的service方法中,而像 <%= %> 在编译成源代码时会时编译成类似out.print()之类的放在service方法的相应地方.
每个jsp页面都将被编译成一个servlet类...
间而言之就是:
<% %> 等同于java代码,需要什么都得自己拿到,比如想显示session里面的东西,得
<%
String str = (String)session.getAttribute("myString");
out.println(str);
%>
或者再
<%=str%>
而${} 就是为了简化从 page,request,session,application 拿到数据的操作而作的标签,实际内部执行时,还是得和上面一样先取出来才行。
可以理解成他是一个[ 快捷方式 ] 或者 [批处理], 他替你做了好多事。