在 Web 開發中,為輸入框添加提示文字(Placeholder)能顯著提升用戶體驗。當用戶點擊輸入框開始輸入時,提示文字自動消失,這是現代表單交互的標準行為。本文針對 Struts2 框架的 <s:textfield> 標籤,詳細說明如何通過 placeholder 屬性實現該功能。
<s:textfield> 標籤最終會渲染為標準的 HTML <input type="text"> 元素,因此它完全支持 HTML5 的 placeholder 屬性。你只需在標籤中直接添加該屬性即可:
<s:textfield name="username" placeholder="請輸入用戶名" />
下面是一個包含表單的完整 JSP 頁面片段,展示了如何為多個輸入框設置不同的提示文字:
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Struts2 Placeholder 示例</title>
</head>
<body>
<s:form action="login">
<s:textfield name="username" label="用戶名" placeholder="請輸入您的用戶名" />
<s:password name="password" label="密碼" placeholder="請輸入 6-16 位密碼" />
<s:submit value="登錄" />
</s:form>
</body>
</html>
placeholder 屬性在 IE10+ 及所有現代瀏覽器中均受支持。若需兼容極舊版本 IE,可考慮使用 JavaScript 降級方案。::placeholder (或舊版 :-ms-input-placeholder) 修改提示文字的顏色、字體等樣式。在 Struts2 中為 <s:textfield> 設置提示語句極其簡單,只需添加原生 HTML5 的 placeholder 屬性即可。這不僅代碼簡潔,而且符合現代 Web 標準,是目前的最佳實踐。