struts2接收參數

    struts2有三種接收參數的方式:

        1、Action屬性

        2、Domain Model

        3、ModelDriven


login.jsp頁面:

<body>
  <form action="loginAction.action" method="post" >
	用戶名:<input type="text" name="username"/>
	密碼:<input type="password" name="password"/>
	<input type="submit" value="login" />
  </form>
</body>



1、Action屬性方法:

    通過表單的username和action屬性username直接對應傳遞過來。

public class LoginAction extends ActionSupport{
	
	private String username;
	private String password;
	
	public String login(){	
		System.out.println(username);
		//...
		return SUCCESS;
	}
	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;
	}
	
}


2、通過Domain Model方法:

    先建立User類,有username和password兩個屬性。


    (1)login.jsp頁面要修改name屬性,才能和action中代碼對應

<form action="loginAction.action" method="post" >
	用戶名:<input type="text" name="user.username"/>
	密碼:<input type="password" name="user.password"/>
	<input type="submit" value="login" />
  </form>


    (2)loginAction.java類,user和表單中的user對應:

public class LoginAction extends ActionSupport{
	
	private User user;
	
	public String login(){
		
		System.out.println(user.getUsername());
		//...
		return SUCCESS;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	
}


3、ModelDriven方法:

    (1)login.jsp頁面,稍微改動name屬性

        用戶名:<input type="text" name="username"/>
	密碼:<input type="password" name="password"/>

    

    (2)LoginAction.java類,要實現ModelDriven類,泛型爲User。聲明user對象時要實例化,在Domain Model方法中不用。

public class LoginAction extends ActionSupport implements ModelDriven<User>{
	
	private User user=new User();
	
	public String login(){
		
		System.out.println(user.getUsername());
		//...
		return SUCCESS;
	}

	@Override
	public User getModel() {
		
		return user;
	}
	
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章