在 Web 開發中,標籤輸入框是常見的交互組件,用戶可以輸入關鍵詞並自動轉換為可視化的標籤。本文將詳細介紹如何在 JSP 頁面中集成 tag-it 插件,實現優雅的標籤自動插入特效。
經過測試,tag-it 是一款輕量級、易於定制的 jQuery 標籤插件,完美支持 JSP 環境。它提供了自動完成、標籤刪除、鍵盤導航等豐富功能,且樣式可通過 CSS 完全自定義。
在 JSP 頁面的 <head> 區域引入 jQuery、jQuery UI 以及 tag-it 的核心文件:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tag-it@2.0/css/jquery.tagit.css">
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-ui@1.13.0/dist/jquery-ui.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tag-it@2.0/js/tag-it.min.js"></script>
在頁面中放置一個 <ul> 元素作為標籤容器:
<ul id="tagContainer"></ul>
在頁面底部或單獨的 JS 文件中初始化:
$(function() {
$("#tagContainer").tagit({
availableTags: ["Java", "JavaScript", "Python", "PHP", "C++", "Go"], // 自動完成數據源
allowSpaces: true, // 允許標籤包含空格
removeConfirmation: true, // 刪除時確認
caseSensitive: false, // 不區分大小寫
fieldName: "tags", // 表單提交時的字段名
singleField: true, // 使用隱藏域存儲值
singleFieldNode: $('#tagsInput') // 綁定的隱藏域
});
});
在 Servlet 或 Controller 中通過 request.getParameter("tags") 獲取逗號分隔的標籤字符串,再按需分割存儲。
availableTags 改為 AJAX 請求後端接口,實現數據庫驅動的自動完成。.tagit-label、.tagit-close 等類實現品牌化外觀。beforeTagAdded 回調攔截非法標籤(如長度超限、敏感詞)。若標籤無法顯示,請檢查:
tag-it 以零配置、高擴展性解決了 JSP 頁面標籤輸入的痛點。結合後端驗證與前端體驗優化,可快速構建專業級標籤交互組件。