私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
pom.xml ファイルは lombok 依存関係をインポートします
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <version>1.18.34</version>
- </dependency>
@Controller はこれがコントローラーであることを意味します
@RequestParam はフロントエンドから受信することを意味します
通常、Model は返された結果をフロントエンドに渡すために使用されます。
- package com.demo.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
-
- @Controller
- @RequestMapping("/user")
- public class UserController {
- //localhost:8080/user/test?name=xx
- @GetMapping("/test")
- public String test(@RequestParam("name") String name, Model model){
-
- //1.接收前端参数
- System.out.println(name);
-
- //2.将返回的结果传递给前端
- model.addAttribute("msg",name);
-
- //3.视图跳转
- return "test"; //test.jsp
-
- }
- }
@AllArgsConstructor パラメトリック コンストラクター
@NoArgsConstructor 引数なしのコンストラクター
(参照する前に、lombok の jar パッケージをインポートする必要があります)
- package com.demo.pojo;
-
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
-
- @Data
- @AllArgsConstructor //有参构造器
- @NoArgsConstructor //无参构造器
- public class User {
- private String name;
- private int age;
- }
フロントエンド ユーザーによって渡されたパラメーターを受け取り、その名前がメソッドにあると仮定すると、そのパラメーターの名前を直接使用できます。
渡されるパラメータは、オブジェクトが受け取るパラメータ フィールドと一致している必要があります。
- package com.demo.controller;
-
- import com.demo.pojo.User;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
-
- @Controller
- @RequestMapping("/user")
- public class UserController {
-
- /*
- 1.接收前端用户传递的参数,判断参数的名字,假设名字在方法上,可以直接使用
- 2.假设传递的是一个对象User,匹配User对象中的字段名
- */
- @GetMapping("/test2")
- public String test2(User user){
- System.out.println(user);
- return "test";
- }
- }
たとえば、アドレス バーに http:localhost:8080/user/test2?name=hh&age=18 と入力します。
(作成したクラスに合わせてパラメータを設定する必要があります。上記でUserクラスを使用した場合はUserクラス内の変数を使用してください)
出力は次のとおりです。
フロントエンドにデータを表示する方法:
1. モデルとビュー
まず新しい ModelAndView() を作成します。
次に、addObject を通じてデータをカプセル化します。
最後に、setViewName は返されたビュー名を設定します。
2. モデル
メソッド括弧内で Model インターフェイスを使用する
addAttribute を通じてデータをカプセル化する
ようやく視界に戻ります
3. モデルマップ
Ctrl + H を押してツリーを表示します
ModelMap は LinkedHashMap を継承し、そのすべての機能を備えています
使い方はModelと似ています
3 つの比較:
1. モデルにはデータの保存に適したメソッドがいくつかしかありません
2. ModelMap は、独自のメソッドの実装に加えて、LinkedHashMap のメソッドと特性も継承します。
3. データの保存中に、ModelAndView は返された論理ビューを設定し、表示レイヤーのジャンプを制御できます。