天天看點

Spring MVC 表單标簽庫

在進行 Spring MVC 項目開發時,一般會使用 EL 表達式和 JSTL 标簽來完成頁面視圖的開發。其實 Spring 也有自己的一套表單标簽庫,通過 Spring 表單标簽,可以很容易地将模型資料中的指令對象綁定到 HTML 表單元素中。下面我們就通過一個示例來示範該标簽庫的用法。

首先和 JSTL 标簽的使用方法相同,在使用 Spring 表單标簽之前,必須在 JSP 頁面開頭處聲明 taglib 指令,指令代碼如下。

常用的 Spring 表單标簽如下表所示。

名稱

作用

form

渲染表單元素

input

輸入框元件标簽,渲染 <input type="text"/> 元素

password

密碼框元件标簽,渲染 <input type="password"/> 元素

hidden

隐藏框元件标簽,渲染 <input type="hidden"/> 元素

textarea

多行輸入框元件标簽,渲染 textarea 元素

checkbox

複選框元件标簽,渲染一個 <input type="checkbox"/> 元素

checkboxes

渲染多個 <input type="checkbox"/> 元素

radiobutton

單選框元件标簽,渲染一個 <input type="radio"/> 元素

radiobuttons

渲染多個 <input type="radio"/> 元素

select

下拉清單元件标簽,渲染一個選擇元素

option

渲染一個選項元素

options

渲染多個選項元素

errors

顯示表單資料校驗所對應的錯誤資訊

以上标簽基本都擁有以下屬性。

path:屬性路徑,表示表單對象屬性,如 userName、userCode 等。

cssClass:表單元件對應的 CSS 樣式類名。

cssErrorClass:當送出表單後報錯(服務端錯誤),采用的 CSS 樣式類。

cssStyle:表單元件對應的 CSS 樣式。

htmlEscape:綁定的表單屬性值是否要對 HTML 特殊字元進行轉換,預設為 true。

下面以 <fm:form> 表單标簽為例,模仿添加使用者資訊。

建立實體類 user,代碼如下。

建立 addUser.jsp,代碼如下。

<fm:form> 标簽的 modelAttribute 屬性用于指定綁定的模型屬性。預設從模型中嘗試取名為“command”的表單對象,若不存在此表單對象,将會報錯。是以一般情況下會指定 modelAttribute 屬性。

此外,表單元件标簽頁擁有 HTML 标簽的各種屬性,如 id、onclick 等,都可以根據需要靈活使用。

建立顯示頁面 showUser.jsp,代碼如下。

建立 UserController,代碼如下。

通路位址:http://localhost:8080/springmvcDemo2/addUser,運作結果如下圖所示。

Spring MVC 表單标簽庫

添加使用者

Spring MVC 表單标簽庫

顯示添加使用者資訊

繼續閱讀