out.println()方法与<%=%>表达式的区别
转自:http://www.chineselinuxuniversity.net/articles/30223.shtml
out.println()方法与<%=%>表达式输出功能一样,如果想知道那种方式更加方便,则可通过一个范例来说明:
如:打印100*100表格
第一种:使用out.println()
scriptletdemo1.jsp :
<%
out.println("<table>");
for(int i=0;i<100;i++){
out.print("<tr>");
for(int j=0;j<100;j++){
out.print("<td>"+(i*j)+"</td>");
}
out.print("</tr>");
}
out.println("</table>");
%>
观察生成后的源代码,此源代码没有任何的简写,非常的混乱,而且,此时要想给表格加边框的话,则必须使用border属性,out.println(“<table border=\”1\”>”),使用工具(如DW)也不方便修改。
第二种:使用<%=%>
scriptletdemo2.jsp :
<table>
<%
for(int i=0;i<100;i++){
%> <tr>
<%
for(int j=0;j<100;j++){
%> <td><%=i*j%></td>
<%
}
%> </tr>
<% }
%>
</table>
从代码中可以清楚的发现,HTML代码与JAVA代码之间被合理的分割开了。而且页面的现实效果是一样的。
除了编写方便之外,实际上这种方式生成的源代码也非常的清晰,使用工具修改表格的属性也是非常的方便。
经过比较:发现使用表达式输出(<%=%>)明显要比使用out.println()输出更好。所以在JSP的开发页面中绝对不能出现任何的out.println()语句。