<%!代碼%>和<% 代碼%>的功能有什么區別?順便請審閱一下我的寫法和老師的寫法各自的優劣。
我記得前面的課里說的是<%!代碼%>用于寫聲明,<%代碼%>用于寫腳本。
項目練習自己用的時候,卻發現沒有什么功能上的差別。
下面是我的代碼
<!--?以下是自己寫的?-->
???<%!
??? int?i?=?1;
??? int?j?=?1;
????%>
???<%
??? for(i=1;i<10;i++){
??? for(j=1;j<=i;j++){
??? out.print(i+"*"+j+"="+i*j+"    ");
?? ? }
??? out.println("<br>");
? }
????%>
?????<!--?以下是imooc上的老師寫的?-->
????<%!
???? String?printMultiTable(){
???? String?s?=?"";
???? for(int?i=1;i<10;i++){
???? for(int?j=1;j<=i;j++){
???? s+=i+"*"+j+"="+(i*j)+" ";
???? }
???? s+="<br>";
???? }
???? return?s;
???? }
????%>
????<%=printMultiTable()?%>
2017-08-24
所有嵌套在html中的java代碼必須使用scriptlet標記出來,在jsp中一共有三種scriptlet代碼。
<%%>: 可以定義局部變量,編寫語句等
<%!? %>: 可以定義一些全局變量、方法、類等,但是因為<%!%>中不能出現任何的其他語句,所以需要編寫一個<%%>來輸出變量、調用方法、輸出對象。雖然<%!%>可以定義類、方法、變量,但是在開發中,jsp需要類和方法時,都是從javaBean中來調用
<%=%>:主要是輸出一個變量或者是一個具體的內容。
????關于out.print()和<%=%>兩種輸出方式常用那種?
????<%=%>輸出的是變量或者具體內容,在jsp開發中,往往HTML代碼也會有輸出,這樣能夠讓html代碼和java代碼有一個很好的分離
2017-06-06
jsp頁面經過編譯之后其實就是一個sevlet程序
<%! ?java代碼 ? %> 能定義成員變量和方法,相當于在方法外類中寫的東西
<% java代碼 %>只能定義局部變量和執行代碼,相當于在方法中寫的東西