Struts2 <s:textfield>文本示例
爲了比較直觀的學習,這裏創建一個web工程爲:struts2textfield。整個工程的目錄結構如下:
在Struts2中,<s:textfield>文本範例, 例如,可以聲明「s:textfield」鍵屬性或標籤和名稱屬性。
<s:textfield key="username" />
// 或
<s:textfield label="Username" name="username" />
兩者都產生相同的HTML輸出(默認的XHTML主題)。類似如下的結果:
在Struts2中,「name」將自動映射到JavaBean屬性。 在這種情況下,表格提交時,文本框的值使用「name=’username'」將調用對應動作的setUsername(String xx)來設置值。
Struts2 <s:textfield> 示例
在Struts2中創建一個文本框輸入字段示例教程。
1. 屬性文件
兩個屬性文件用來存儲信息。
global.properties
#Global messages
username = 用戶名
submit = 提交
RegisterAction.properties
#error message
username.required = 用戶名不可以爲空
2. Action
使用一個簡單的動作類驗證以確保用戶名不爲空,否則返回錯誤信息。
RegisterAction.java
package com.yiibai.user.action;
import com.opensymphony.xwork2.ActionSupport;
public class RegisterAction extends ActionSupport{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
//business logic
public String execute() {
return "SUCCESS";
}
//simple validation
public void validate(){
if("".equals(getUsername())){
addFieldError("username", getText("username.required"));
}
}
}
3. 視圖文件
結果頁面使用Struts2 「s:textfield」來創建一個HTML文本框輸入字段。
register.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
Struts 2 - textbox 示例
<s:form action="registerUser" namespace="/user">
<s:textfield key="username" />
<s:submit key="submit" name="submit" />
welcome.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
Struts 2 - textbox 示例
4. struts.xml
5. 示例顯示
http://localhost:8080/struts2textfield/user/register.action