2

私は現在 MVC パターンを学んでおり、モデルとビューに関する短い質問があります。私は次のモデルを持っています:

class Person {
  private String name;
  private int age;
}

ここで、新しい Person を作成するためにビューに入力を求めるようにします。

public void askPerson() {
  System.out.println("Enter name:");
  //read with System.in
  System.out.println("Enter age:");
  //read with System.in
}

このモデルを作成する正しい方法は何ですか。するべきか:

1)ユーザー入力をビューの変数に保存し、コントローラーでモデルを作成するために、ゲッターを介してコントローラーで取得します(getName()、getAge())または

2) ビューでモデルを作成し、それを askPerson() の結果として返す必要がありますか?

そのようなデータをビューからコントローラーに渡す一般的な最良の方法は何ですか?

ありがとうございました!

4

2 に答える 2

0

Bean オブジェクトを作成し、埋めて、View から Controller に送信します。同様の投稿は、コードを書くのに役立ちます。リンクは次のとおりです。

View から Controller にデータを送信する MVC

あなたのリクエストに応じて、ここにいくつかのコードを入れさせてください。このコードは、理解を深めるためにのみ作成されています。したがって、必要に応じて変更し、自由に改善してください。

モデルクラス

class MyModel {
      private String name;
      private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "MyModel [name=" + name + ", age=" + age + "]";
    }


}

クラスを見る

クラス MyView {

/**
 * Create view elements, take user inputs and  
 * set the in the model object. Finally send it
 * to the controller for processing
 */


private void onSomeViewEvent(Object myevent) {
    MyModel model = new MyModel();

    // take the properties from event and set in model
    model.setAge(25);
    model.setName("Yourname");

    // send to controller
    MyController controller = new MyController();
    controller.processRequest(model);
}

}

コントローラ クラス

class MyController {

    public void processRequest(MyModel model) {

        /**
         * Inspect the model and process it as per your need.
         */
    }
}
于 2013-05-25T12:30:48.187 に答える