アクション受信要求パラメータ(3つの方法)
3835 ワード
Struts 2はMVCフレームとしてHTTP要求パラメータの解析を行い、Modelオブジェクトにカプセル化する必要があります。Struts 2は、modelオブジェクトへのデータのパッケージングを要求するための非常に強力なタイプの変換機構を提供する。
一、方式一
1)アクション自体がモデルの対象となり、メンバーsetterによってパッケージ化される。アクションクラスをモデルの対象とします。
一、方式一
1)アクション自体がモデルの対象となり、メンバーsetterによってパッケージ化される。アクションクラスをモデルの対象とします。
public class userAction extends ActionSupport {
private String username;
private String password;
public String regist()
{
if("pjm".equals(username) && "123".equals(password))
{
return SUCCESS;
}else
{
return "login";
}
}
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)独立したModelオブジェクトを作成し、ページはognlパッケージ(アクションクラスとモデル別、推奨使用)a.public class Person implements Serializable{
// form
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;
}
@Override
public String toString() {
return "Person [username=" + username + ", password=" + password + "]";
}
}
b.動作public class PersonAction extends ActionSupport {
//
private Person person;
public Person getPerson() {
System.out.println("getter");
return person;
}
public void setPerson(Person person) {
System.out.println("setter");
this.person = person;
}
public String regist()
{
if("pjm".equals(person.getUsername()) && "123".equals(person.getPassword()))
{
return SUCCESS;
}else
{
return "login";
}
}
}
c.プロファイル
/success.jsp
/success.jsp
d.フォームページ
3)modelDrivenインターフェースを使用して、要求データをカプセル化する(モデルドライバ:ModelDriven)注:この機能はmodelDrivenというブロックで完成します。a.モデルと方式が同じb.動作// ModelDriven
public class CustomerAction extends ActionSupport implements ModelDriven{
private Customer customer = new Customer(); //
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public String regist()
{
System.out.println(customer);
if("pjm".equals(customer.getUsername()) && "123".equals(customer.getPassword()))
{
return SUCCESS;
}else
{
return "login";
}
}
@Override
public Customer getModel() {
// TODO Auto-generated method stub
return customer;
}
}
c、プロファイル
/success.jsp
/success.jsp
d、フォームページ