整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          VS Code寫HTML常用擴展推薦

          VS Code寫HTML常用擴展推薦


          我們來看看VS Code的一些擴展,它們可以更好地編寫和編輯HTML(以及那些具有額外功能的HTML語言)。也許其中一些不吸引你,解決你沒有的問題,或者感覺比你需要的更混亂。沒關系,這些擴展,我也只是喜歡一部分。

          首先是Emmet,VS Code內置了這個功能;這個功能很有用,你應該知道他。

          HTML End Tag Labels

          一級一級的div寫得太多,對不齊了怎么辦?

          這個擴展可以在標簽結尾處加上“注釋”,


          Better Comments

          寫代碼要寫注釋,我喜歡在重要的注釋上加上todo或者!。這個擴展可以賦予不同的注釋五顏六色,非常醒目。


          Indent Rainbow

          代碼不同行之間不同的縮進,五顏六色的彩虹帶來了直接的視覺幫助。當我們在滾動代碼查看匹配標簽時特別有用。

          Auto Close Tag

          這個肯定好用,用過的都知道。國產

          自定義標簽是用戶定義的JSP語言元素。當JSP頁面包含一個自定義標簽時將被轉化為servlet,標簽轉化為對被 稱為tag handler的對象的操作,即當servlet執行時Web container調用那些操作。

          JSP標簽擴展可以讓你創建新的標簽并且可以直接插入到一個JSP頁面。 JSP 2.0規范中引入Simple Tag Handlers來編寫這些自定義標記。

          你可以繼承SimpleTagSupport類并重寫的doTag()方法來開發一個最簡單的自定義標簽。

          創建"Hello"標簽

          接下來,我們想創建一個自定義標簽叫作<ex:Hello>,標簽格式為:

          <ex:Hello />

          要創建自定義的JSP標簽,你首先必須創建處理標簽的Java類。所以,讓我們創建一個HelloTag類,如下所示:

          package com.runoob;

          import javax.servlet.jsp.tagext.*;

          import javax.servlet.jsp.*;

          import java.io.*;

          public class HelloTag extends SimpleTagSupport {

          public void doTag() throws JspException, IOException {

          JspWriter out=getJspContext().getOut();

          out.println("Hello Custom Tag!");

          }

          }

          以下代碼重寫了doTag()方法,方法中使用了getJspContext()方法來獲取當前的JspContext對象,并將"Hello Custom Tag!"傳遞給JspWriter對象。

          編譯以上類,并將其復制到環境變量CLASSPATH目錄中。最后創建如下標簽庫:<Tomcat安裝目錄>webapps\ROOT\WEB-INF\custom.tld。

          <taglib>

          <tlib-version>1.0</tlib-version>

          <jsp-version>2.0</jsp-version>

          <short-name>Example TLD</short-name>

          <tag>

          <name>Hello</name>

          <tag-class>com.runoob.HelloTag</tag-class>

          <body-content>empty</body-content>

          </tag>

          </taglib>

          接下來,我們就可以在JSP文件中使用Hello標簽:

          <%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>

          <html>

          <head>

          <title>A sample custom tag</title>

          </head>

          <body>

          <ex:Hello/>

          </body>

          </html>

          以上程序輸出結果為:

          Hello Custom Tag!

          訪問標簽體

          你可以像標準標簽庫一樣在標簽中包含消息內容。如我們要在我們自定義的Hello中包含內容,格式如下:

          <ex:Hello>

          This is message body

          </ex:Hello>

          我們可以修改標簽處理類文件,代碼如下:

          package com.runoob;

          import javax.servlet.jsp.tagext.*;

          import javax.servlet.jsp.*;

          import java.io.*;

          public class HelloTag extends SimpleTagSupport {

          StringWriter sw=new StringWriter();

          public void doTag()

          throws JspException, IOException

          {

          getJspBody().invoke(sw);

          getJspContext().getOut().println(sw.toString());

          }

          }

          接下來我們需要修改TLD文件,如下所示:

          <taglib>

          <tlib-version>1.0</tlib-version>

          <jsp-version>2.0</jsp-version>

          <short-name>Example TLD with Body</short-name>

          <tag>

          <name>Hello</name>

          <tag-class>com.runoob.HelloTag</tag-class>

          <body-content>scriptless</body-content>

          </tag>

          </taglib>

          現在我們可以在JSP使用修改后的標簽,如下所示:

          <%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>

          <html>

          <head>

          <title>A sample custom tag</title>

          </head>

          <body>

          <ex:Hello>

          This is message body

          </ex:Hello>

          </body>

          </html>

          以上程序輸出結果如下所示:

          This is message body

          自定義標簽屬性

          你可以在自定義標準中設置各種屬性,要接收屬性,值自定義標簽類必須實現setter方法, JavaBean 中的setter方法如下所示:

          package com.runoob;

          import javax.servlet.jsp.tagext.*;

          import javax.servlet.jsp.*;

          import java.io.*;

          public class HelloTag extends SimpleTagSupport {

          private String message;

          public void setMessage(String msg) {

          this.message=msg;

          }

          StringWriter sw=new StringWriter();

          public void doTag()

          throws JspException, IOException

          {

          if (message !=null) {

          /* 從屬性中使用消息 */

          JspWriter out=getJspContext().getOut();

          out.println( message );

          }

          else {

          /* 從內容體中使用消息 */

          getJspBody().invoke(sw);

          getJspContext().getOut().println(sw.toString());

          }

          }

          }

          屬性的名稱是"message",所以setter方法是的setMessage()。現在讓我們在TLD文件中使用的<attribute>元素添加此屬性:

          <taglib>

          <tlib-version>1.0</tlib-version>

          <jsp-version>2.0</jsp-version>

          <short-name>Example TLD with Body</short-name>

          <tag>

          <name>Hello</name>

          <tag-class>com.runoob.HelloTag</tag-class>

          <body-content>scriptless</body-content>

          <attribute>

          <name>message</name>

          </attribute>

          </tag>

          </taglib>

          現在我們就可以在JSP文件中使用message屬性了,如下所示:

          <%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>

          <html>

          <head>

          <title>A sample custom tag</title>

          </head>

          <body>

          <ex:Hello message="This is custom tag" />

          </body>

          </html>

          以上實例數據輸出結果為:

          This is custom tag

          你還可以包含以下屬性:

          屬性描述
          name定義屬性的名稱。每個標簽的是屬性名稱必須是唯一的。
          required指定屬性是否是必須的或者可選的,如果設置為false為可選。
          rtexprvalue聲明在運行表達式時,標簽屬性是否有效。
          type定義該屬性的Java類類型 。默認指定為 String
          description描述信息
          fragment如果聲明了該屬性,屬性值將被視為一個 JspFragment

          以下是指定相關的屬性實例:

          .....

          <attribute>

          <name>attribute_name</name>

          <required>false</required>

          <type>java.util.Date</type>

          <fragment>false</fragment>

          </attribute>

          .....

          如果你使用了兩個屬性,修改TLD文件,如下所示:

          .....

          <attribute>

          <name>attribute_name1</name>

          <required>false</required>

          <type>java.util.Boolean</type>

          <fragment>false</fragment>

          </attribute>

          <attribute>

          <name>attribute_name2</name>

          <required>true</required>

          <type>java.util.Date</type>

          </attribute>

          .....

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!

          TML 表格實例:

          First NameLast NamePoints
          JillSmith50
          EveJackson94
          JohnDoe80
          AdamJohnson67

          在線實例

          表格

          這個例子演示如何在 HTML 文檔中創建表格。

          HTML 表格

          表格由 <table> 標簽來定義。每個表格均有若干行(由 <tr> 標簽定義),每行被分割為若干單元格(由 <td> 標簽定義)。字母 td 指表格數據(table data),即數據單元格的內容。數據單元格可以包含文本、圖片、列表、段落、表單、水平線、表格等等。

          表格實例

          <table border="1">

          <tr>

          <td>row 1, cell 1</td>

          <td>row 1, cell 2</td>

          </tr>

          <tr>

          <td>row 2, cell 1</td>

          <td>row 2, cell 2</td>

          </tr>

          </table>

          在瀏覽器顯示如下::

          row 1, cell 1row 1, cell 2
          row 2, cell 1row 2, cell 2

          HTML 表格和邊框屬性

          如果不定義邊框屬性,表格將不顯示邊框。有時這很有用,但是大多數時候,我們希望顯示邊框。

          使用邊框屬性來顯示一個帶有邊框的表格:

          <table border="1">

          <tr>

          <td>Row 1, cell 1</td>

          <td>Row 1, cell 2</td>

          </tr>

          </table>

          HTML 表格表頭

          表格的表頭使用 <th> 標簽進行定義。

          大多數瀏覽器會把表頭顯示為粗體居中的文本:

          <table border="1">

          <tr>

          <th>Header 1</th>

          <th>Header 2</th>

          </tr>

          <tr>

          <td>row 1, cell 1</td>

          <td>row 1, cell 2</td>

          </tr>

          <tr>

          <td>row 2, cell 1</td>

          <td>row 2, cell 2</td>

          </tr>

          </table>

          在瀏覽器顯示如下:

          Header 1Header 2
          row 1, cell 1row 1, cell 2
          row 2, cell 1row 2, cell 2

          更多實例

          沒有邊框的表格

          本例演示一個沒有邊框的表格。

          表格中的表頭(Heading)

          本例演示如何顯示表格表頭。

          帶有標題的表格

          本例演示一個帶標題 (caption) 的表格

          跨行或跨列的表格單元格

          本例演示如何定義跨行或跨列的表格單元格。

          表格內的標簽

          本例演示如何顯示在不同的元素內顯示元素。

          單元格邊距(Cell padding)

          本例演示如何使用 Cell padding 來創建單元格內容與其邊框之間的空白。

          單元格間距(Cell spacing)

          本例演示如何使用 Cell spacing 增加單元格之間的距離。

          HTML 表格標簽

          標簽描述
          <table>定義表格
          <th>定義表格的表頭
          <tr>定義表格的行
          <td>定義表格單元
          <caption>定義表格標題
          <colgroup>定義表格列的組
          <col>定義用于表格列的屬性
          <thead>定義表格的頁眉
          <tbody>定義表格的主體
          <tfoot>定義表格的頁腳

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!


          主站蜘蛛池模板: 欧美日本精品一区二区三区| 国产内射999视频一区| 亚洲精品色播一区二区| 日韩精品一区二区三区影院| 亚洲国产一区在线观看| 国产熟女一区二区三区四区五区 | 亚洲av无码一区二区三区天堂| 日韩人妻无码一区二区三区综合部| 日韩精品一区二区三区影院| 天天看高清无码一区二区三区 | 亚洲一区二区三区影院| 国产精品 视频一区 二区三区 | 一区 二区 三区 中文字幕| 97精品国产一区二区三区| 精品人妻少妇一区二区三区不卡 | 秋霞日韩一区二区三区在线观看 | 国产成人精品一区二区秒拍| 亚洲大尺度无码无码专线一区| 午夜视频在线观看一区二区| 国产成人精品一区在线| 亚欧免费视频一区二区三区| 国产激情一区二区三区在线观看| 国产乱码伦精品一区二区三区麻豆| 国产亚洲情侣一区二区无码AV| 亚洲综合激情五月色一区| 一区在线观看视频| 夜精品a一区二区三区| 夜夜添无码试看一区二区三区| 亚洲乱码一区二区三区国产精品| 亚洲一区无码精品色| 色窝窝无码一区二区三区色欲 | 无码av人妻一区二区三区四区| 亚洲av乱码中文一区二区三区| 日本在线观看一区二区三区| 久久久精品人妻一区亚美研究所| 国产精品视频免费一区二区三区| 无码视频一区二区三区在线观看 | 韩国福利一区二区美女视频| 人妻av综合天堂一区| 亚洲日韩精品无码一区二区三区| 亚洲国产情侣一区二区三区|