两种方法:
(1)属性驱动
一、与基本数据类型的属性相对应;
在action中设置要获取的属性名,并设置setter和getter方法,注意属性名要与jsp页面的name相同;
action页面:直接使用属性名获取jsp页面传来的值
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String aName;
private String aPassword;
//exlipse自动生成的getter,setter方法不能获取jsp的值(getaName,setaName)
public String getAName() {
return aName;
}
public void setAName(String aName) {
this.aName = aName;
}
public String getAPassword() {
return aPassword;
}
public void setAPassword(String aPassword) {
this.aPassword = aPassword;
}
public String execute(){
if("admin".equals(aName) && "123".equals(aPassword)){
ActionContext context = ActionContext.getContext();
context.getSession().put("aName", aName);
context.getSession().put("aPassword", aPassword);
return "success";
}else{
return "fail";
}
}
jsp页面:
<form name="personalForm" method="post" action="/SSH_demo2/login.action">
<div class="infro">
<!-- 使用简单的传值 -->
用户:<input id="username" class="text-align" name="aName" size="25" type="text" ><br>
</div>
<div class="infro">
密码:<input id="password" class="text-align" name="aPassword" size="25" type="password" />
</div>
<input type="submit" value="登录" />
二、直接使用域对象
在action中引入需要获取属性的对象,并设置setter和getter方法,在jsp页面使用(域名.属性)
action页面:使用user.getUid()方法
//添加用户信息
public String addUser() throws Exception {
System.out.println("AddUserAction------------");
User u = new User();
u.setUid(user.getUid());
u.setUserName(user.getUserName());
u.setUserClass(user.getUserClass());
u.setUserNumber(user.getUserNumber());
u.setUserBrithday(user.getUserBrithday());
u.setUserSex(user.getUserSex());
u.setUserStatus(user.getUserStatus());
userService.add(u);
showUser() ;
return "addUser";
}
jsp页面:域名.属性名user.(uid)
<div class="infro">
编号: <input id="uid" class="text-align" name="user.uid"
placeholder="*必填项" size="25" type="text">
</div>
<div class="infro">
姓名: <input id="username" class="text-align" name="user.userName"
placeholder="*必填项" size="25" type="text">
</div>
<div class="infro">
班级: <input id="userclass" class="text-align" name="user.userClass"
placeholder="*必填项" size="25" type="text" />
</div>
(2)模型驱动