①用action属性接收
登录界面例子
在webroot下创建login.jsp和success.jsp
login.jsp中加入表单:
<form action="LoginAction.action" method="post">
用户名:<input type="text" name="username"> <br>
密码:<input type="password" name="password"><br>
<input type="submit" value="提交">
</form>
表单中的用户名和密码会传到LoginAction.action
在com.lzhc.action包中创建LoginAction.java,代码如下:
public class LoginAction extends ActionSupport {
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 login(){
System.out.println(username);
System.out.println(password);
return SUCCESS;
}
}
修改struts.xml配置文件,添加LoginAction.action
<action name="LoginAction" method="login" class="com.lzhc.action.LoginAction">
<result>/success.jsp</result>
</action>
登录页面即制作完成,在web上输入网址http://localhost:8080/test/login.jsp测试
②使用DomainModel接收参数
在src中建一个新包com.lzhc.po,在包下新建User.java,写入以下代码:
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;
}
在LoginAction.java中添加代码:
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
用user.getUsername()获取用户名,用user.getPassword()获取密码
login.jsp将用户名及密码的name改成user.username以及user.password
③使用ModelDriven接收参数(一般用此方法,方便快捷)
在②的基础上,LoginAction.java中的LoginAction函数加上代码:implements ModelDriven<User>
改写方法
public User getModel() {
return user;
}
则②中LoginAction的user的get,set方法不用写,但需在开头写private User user=new user();
不需再在login.jsp中的username和password前加user.