1. 程式人生 > >Struts2 表單標籤的使用(一)

Struts2 表單標籤的使用(一)

概述

表單標籤將在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使得表單排列整齊
  • 表單回寫,不是很簡單的,是頁面從值棧中賦值過來的;