在前面的教程中我們已經在一個scriptlet中使用了“out”變量來產生HTML輸出。對於更復雜的HTML,如果我們還是使用“out”變量那就會失去JSP編程的許多優勢。其實我們可以很簡單地就實現Scriptlets 和 HTML的混合。
假如你要在HTML產生一個表格。產生表格是一個普通的操作,在實踐中你可能想從一個SQL表格或者從文件的行產生一個表格。為了是所舉的例子盡量的簡單,我們產生一個表格,使這個表格包含從1到N的數字。雖然以下的例子不是很有用,但是你從中可以學到一些技巧的。以下就是JSP的程序片段:
<TABLE BORDER=2>
<%
for ( int i = 0; i < n; i++ ) {
%>
<TR>
<TD>Number</TD>
<TD><%= i+1 %></TD>
</TR>
<%
}
%>
</TABLE>
在編制代碼之前,你應該首先定義一個整型(int)變量“n”,利用這個變量我們要輸出“n”行的表格。從上面的代碼中我們可以注意到%> 和 <%字符出現在“for”循環中,原來這是為了使你退到HTML然後又回到scriptlet,其實這正是Scriptlets 和 HTML的混合的技巧。
上面的代碼其實很簡單:可以退出scriptlet的時候,就編寫HTML;然後又回到scriptlet中去。任何的循環控制表達式,比如“while”或者“for”循環以及“if”語句都可以控制HTML。如果HTML處在一個循環中它就會在每一次的循環中執行一次。