將表單裏的數據傳給了Action。
在struts2裏有如下配置文件
<result name="fail">fail.jsp</result>
package com.lin.test;
private String userName;
private String passWord;
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 execute(){
if((userName==null)||(userName.equals("")))
{
System.out.println("text爲空。。。。");
return "fail";
}else{
System.out.println("username: "+userName);
return "success";
}
}
}
pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>登陸</title>
</head>
<body>
<s:form action="MyAction" method="post">
<s:textfield label="用戶名" name="userName"/><!--標籤的name 屬性是針對於後臺,id是對前臺-->
<s:textfield label="密碼" name="passWord"/>
<s:submit value="提交"/>
</s:form>
</body>
</html>
public User(){}
return userid;
}
public String toString() {
return "User [username=" + username + ", userid=" + userid + "]";
}
this.userid = userid;
}
return username;
}
this.username = username;
}
}
public static void main(String[] args) throws Exception {
//創建user1對象
User user1 = new User();
user1.setUsername("arthinking");
user1.setUserid("001");
String username = "arthinking";
String userid = "001";
//通過user1對象獲取Class
Class<?> classType = user1.getClass();
Object user2 = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});
//從user1對應的Class對象中獲取所有的屬性
Field[] fields = classType.getDeclaredFields();
for(int i=0; i<fields.length; i++){
//動態生成getter和setter方法
String fieldName = field.getName();
String firstChar = fieldName.substring(0,1).toUpperCase();
String setterName = "set" + firstChar + fieldName.substring(1);
Method getter = classType.getMethod(getterName);
Object result = getter.invoke(user1);
setter.invoke(user2, new Object[]{result});
}
System.out.println("user2 "+user2);
}
有相同的輸出