Struts2 表單標籤的使用(一)
阿新 • • 發佈:2018-12-15
概述
表單標籤將在HTML文件裡被呈現為一個表單元素
使用表單標籤的優點
- 表單回寫
- 對頁面進行佈局和排版
標籤的屬性可以被賦值為一個靜態的值或一個OGNL表示式,如果賦值的時候使用了一個OGNL表示式並把它用%{}括起來,這個表示式將會被求值
demo如下:
Action類
package cn.com.action; public class User { private Integer id; private String username; private String password; private String desc; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", password=" + password + ", desc=" + desc + "]"; } public String back(){ this.setUsername("ycwz"); System.out.println(this.toString()); return "backs"; } }
表單頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>form表單標籤</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <s:form action="fro"> <s:hidden name="id"></s:hidden> <s:textfield name="username" label="Name" ></s:textfield> <s:password name="password" label="Pass"></s:password> <s:textarea name="desc" label="Desc"></s:textarea> <s:submit></s:submit> </s:form> </body> </html>
struts.xml相關配置檔案
<action name="fro" class="cn.com.action.User" method="back">
<result name="backs">/form-tag.jsp</result>
</action>
效果圖如下:
表單頁面輸入ttt 123 1232313
回寫以後是ycwz 1232313
密碼是不回寫的,沒有意義;
之所喲回寫的是ycwz,是我做了一個賦值,我想看依一下回寫的過程是什麼樣的;
注意點:
- label不要寫成lable,我就是寫錯了,一直顯示不出來提示
- 用的是s:form的話,action="fro"就可以了,不用寫成action="fro.action"
- 使用<s:form>系統會自動生成一個table使得表單排列整齊
- 表單回寫,不是很簡單的,是頁面從值棧中賦值過來的;