JSP中使用哪種輸出方式更好?__JSP

來源:互聯網
上載者:User
提問:JSP中使用哪種輸出方式更好。 已經學習過使用 out.println() 和 <%=%>輸出的形式,那麼在開發中使用哪種輸出方式更好呢。
回答:

在JSP的開發中,實際上就是在HTML中加入了一些控制及輸出的語句,所以在輸出時為了使HTML代碼和Java代碼相分離,最好的做法就是只輸出右JSP產生的變數,那麼這時使用運算式輸出就比使用 out.println()更加方便。


在說明兩者的優點之前,先來看一下一個題目:“輸出10以內的乘法口訣”,下面是用out.println()和運算式完成這樣的輸出。 使用out.println()輸出:

<%@ page contentType="text/html;charset=UTF-8"%><html><head><title>乘法口訣</title></head><body>使用out.println()列印乘法口訣:<br/><%int cols,rows;//列、行out.println("<table border='1'>");for(cols=1;cols<10;cols++){out.println("<tr>");for(rows=1;rows<=cols;rows++){out.println("<td>"+cols+"*"+rows+"="+cols*rows+"</td>");}out.println("</tr>");}out.println("</table>");%></body></html>

分析:這樣的輸出會使程式碼混亂,因為是將HTML和JAVA代碼緊密耦合在一起,以後的調試會很麻煩,所以最好的做法是將HTML代碼和JAVA代碼進行分離。 使用<%= %>運算式輸出:

<%@ page contentType="text/html;charset=UTF-8"%><html><head><title>乘法口訣</title></head><body>使用<%=%>運算式列印乘法口訣:<br/><table border='1'><%int cols,rows;//列、行for(cols=1;cols<10;cols++){%><tr><%for(rows=1;rows<=cols;rows++){%><td><%=cols%>*<%=rows%>=<%=cols*rows%></td><%}%></tr><%}%></table></body></html>

分析:這樣的程式碼很好的達到了HTML代碼和JAVA代碼分離的作用,這樣的代碼以後再使用類似於Dreamweaver這樣的網頁設計工具調整時也非常方便。

      但是,有些讀者可能會認為以上的代碼太複雜了,要寫很多Scriptlet代碼,看起來會有些亂,在這裡筆者給讀者這樣的一個建議:“一定要收悉以上的代碼編寫,在以後的學習中將會對這種代碼進行不斷的最佳化,使之更容易讀懂,一定記住,絕對不能使用out.println()進行輸出。”

      而且在以上代碼編寫中,如果一個for語句寫在了多個Scriptlet中,一定要寫上“{}”,否則程式將出現錯誤。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.