java <%!%>標籤和<%%>標籤的使用
<%!%>裡面定義的屬性是成員屬性,相當於類的屬性,方法相當於是全域性的方法,相當於是類裡面的方法.但是它是不可以進行輸出的,因為它只是進行方法的定義和屬性的定義。
<%%>這個裡面可以進行屬性的定義,可以輸出內容,但是它不可以進行方法的定義,因為這對標籤裡面的內容將來是在此jsp被編譯為servlet的時候放在了_jspService()方法裡面的,這個方法就是伺服器向客戶端輸出內容的地方,它本身就是一個方法,所以如果你在它裡面定義方法的話,那麼就相當於是在類的方法裡面巢狀定義了方法,這在java裡面是不允許的。但是你可以在裡面定義自己的私有變數,因為方法裡面也可以定義變數,也可以呼叫方法,但是唯獨不可以再定義方法了。
所以綜上所述:<%!%>是用來定義成員變數屬性和方法的,<%%>主要是用來輸出內容的,因此如果涉及到了成員變數的操作,那麼我們就應該使用<!%%>,而如果是涉及到了輸出內容的時候,就使用<%%>。
另外<%=xxx%>這個標籤相當於是呼叫了out.print(xxx);而這個out是JspWriter;
<%=xxx%>=<%out.println(book.getAuthor());%>
在呼叫<%=xxx%>方法的時候,不可以再表示式後面加上";",因為這中表示式本身就會在使用的時候帶上";";同時在呼叫<%out.println(book.getAuthor());%>的時候也不要忘了在表示式後面帶上";"因為它是直接的被tomcat原封不動的複製到當前jsp所對應的那個被編譯之後的servlet裡面的,因為在java類裡面,如果一句話執行結束了後面不加分號的話,肯定會出錯的,這地方也是一樣,因為jsp最終還是被編譯為servlet之後執行的
相關文章
- HTML標籤(基本標籤的使用)HTML
- properties標籤和typeAliases標籤
- marquee 標籤的使用
- html標籤使用HTML
- PbootCMS可使用的列表標籤內容tags標籤呼叫boot
- HTML常用標籤的使用HTML
- <base href=““/> 標籤的使用
- mybatis的 choose -- when test -- otherwise 標籤和 if test 標籤的區別MyBatis
- 指標和標籤的基礎理解指標
- 文字框和標籤
- android merge標籤 的使用 和 遇到的坑Android
- VOC標籤轉化為YOLO標籤YOLO
- HTML中的標籤的使用HTML
- Java網路 1.7 h 和 p 標籤Java
- JavaScript各類標籤的使用JavaScript
- Script標籤的async和defer
- 使用Beautifulsoup去除特定標籤
- 如何正確理解「指標」和「標籤」指標
- HTML <a> 標籤HTML
- html標籤HTML
- Git 標籤Git
- base標籤
- JSTL標籤JS
- 什麼是JSTL標籤?常用的標籤庫有哪些?JS
- Mybatis的 foreach 標籤使用方法.MyBatis
- angular中使用a標籤的錨點Angular
- js--標籤語法的使用JS
- HTML 常用的標籤和屬性HTML
- script標籤中的async和defer
- HTML 的常用標籤HTML
- 熟悉的< script >標籤
- html的基本標籤HTML
- html <a>標籤的妙用HTML
- java 帶標籤的break,continue語句Java
- java去除xml檔案中的標籤JavaXML
- 修改labelme標註的標籤名
- K8S標籤與標籤選擇器K8S
- HTML簡介,結構,標籤以及標籤語義HTML
- 11 replace-method標籤使用