____4フロントエンドコントローラパラメータを学習SpringMVCは矛盾しており、解像度オブジェクトを渡します

コードは以下の通りであります:

1.SpringMVCのweb.xmlファイル:(DispatcherServletの設定)

<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> 
< ウェブアプリののxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance" 
         のxmlns = "のhttp://java.sun .COM / XML / NS / JavaEEの" 
         XSI:のschemaLocation =" http://java.sun.com/xml/ns/javaee 
         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd " 
         ID =" WebApp_ID」バージョン= "3.0" > 

  < サーブレット> 
    < サーブレット名> springmvc </ サーブレット名> 
    < サーブレットクラス> org.springframework。サーブレットクラス> 

    < INIT-PARAM > 
      < PARAM名> contextConfigLocation </ PARAM名> 
      < PARAM値>クラスパス:springmvc-servlet.xml </ PARAM値> 
    </ INIT-PARAM > 

    < ロード・オン・スタートアップ> 1 </ のload-on-startup > 
  </ サーブレット> 

  < のservlet-mapping > 
    < サーブレット名> springmvc </ サーブレット名> 
    <url-pattern > /</ のurl-pattern > 
  </ のservlet-mapping > 


</ ウェブアプリ>

2.SpringMVC設定ファイル(springmvc-servlet.xml)

<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> 
< のxmlns = "http://www.springframework.org/schema/beans" 
       のxmlns:XSI = "http://www.w3.org/2001 / XMLスキーマ・インスタンス" 
       のxmlns:コンテキスト= "http://www.springframework.org/schema/context" 
       のxmlns:MVC = "http://www.springframework.org/schema/mvc" 
       XSI:のschemaLocation =" HTTP: //www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd 
        http://www.springframework.org/schema/context 
        のhttp://www.springframework .ORG /スキーマ/コンテキスト/春-context.xsd 
        のhttp:
        http://www.springframework.org/schema/mvc/spring-mvc.xsd " > 


    <! - 自動的にスキャンパッケージ- > 
    < コンテキスト:スキャンコンポーネントベース・パッケージ=" com.xbf.controller " / > 

    <! - 静的リソースのフィルタ処理SpringMVC静的でないリソース- > 
    < MVC:サーブレット・デフォルト・ハンドラ/> 

    <! - 注釈運転- > 
    < MVC:注釈ドリブン/> 

    <! - ビューリゾルバ- > 
    < 豆のクラス= "org.springframework.web.servlet.view.InternalResourceViewResolver" > 
        < プロパティ= "接頭辞"= "/ WEB-INF / JSP /" />
        < プロパティ= "サフィックス" = "JSP" /> 
    </ > 

</ >

3.Controller層書き込み:

パッケージcom.xbf.controller; 


インポートcom.xbf.pojo.User;
 インポートorg.springframework.stereotype.Controller;
 インポートorg.springframework.ui.Model;
 インポートorg.springframework.web.bind.annotation.PathVariable;
 インポートORG。 springframework.web.bind.annotation.RequestMapping;
 インポートorg.springframework.web.bind.annotation.RequestParam; 

@Controller 
パブリック クラスUserControllerで{ 

    @RequestMapping( "/ T1 / {名前}" // RESTfulなスタイル
     // 遠位リクエストパラメータパラメータ名を同じように処理するときに
     //が直接引き継ぐことができます
     // パラメータ名の文字列名は、フロントエンド要求であります
    パブリック文字列TEST1(@PathVariable文字列名、モデルモデル){ 
        model.addAttribute( "AAA" 名);
         リターン "ユーザ" ; 
    } 

    @RequestMapping( "/ T2" // 遠位パラメータ名とプロセスコントローラ上を通過パラメータ名は矛盾している
     // 説明@RequestPara注釈に使用
     する@ 渡されたパラメータ名のフロントエンド:ユーザ名
     @ 名:コントローラの処理パラメータの名前
    パブリック文字列TEST2(@RequestParam(値=「ユーザ名」)文字列名、モデルモデル){ 
        model.addAttribute( "AAA" 名);
         戻り、 "ユーザー" 
    } 


    @RequestMapping(「/ T3」// 研究オブジェクトを渡す
     // 何の値は、デフォルト値に渡されません、それは一貫性のある属性名であるかどうかを決定する前に値を設定した場合、プロパティの値を設定するには、setメソッドを使用していますか?// オブジェクト自動包装(ユーザ)にオブジェクトのプロパティの値の前端から転送する
    パブリック文字列Test3は(ユーザーユーザー、モデルモデル){ 
        System.out.printlnは(ユーザ); 
        model.addAttribute(「ユーザ」ユーザ) ;
         リターン "ユーザー" ; 
    } 

    @RequestMapping( "/ T333 / {ID} / {名} / {}年齢" // RESTfulなスタイル
    パブリック文字列test33(ユーザーユーザー、モデルモデル){ 
        System.out.printlnは(ユーザー) ; 
        model.addAttribute( "ユーザー" 、ユーザー)。
        ; 
    } 

    @RequestMapping( "/ T33 / {ID} / {名} / {年齢}" // 安らか风格
    パブリック文字列test33(@PathVariable int型 ID、PathVariable文字列名@、@ PathVariable int型年齢、モデルモデル){ 
        ユーザーユーザー = 新しいユーザー(); 
        user.setName(名); 
        user.setId(ID)。
        user.setAge(年齢); 
        System.out.println(ユーザ)。
        model.addAttribute( "ユーザ" 、ユーザ);
        リターン「ユーザー」; 
    } 


}

4.フロントページ(user.jsp)

<%@ページのcontentType = " text / htmlの;のcharset = UTF-8 " 言語= " javaの"  %> 
< htmlの> 
< ヘッド> 
    < タイトル>タイトル</ タイトル> 
</ ヘッド> 
< 身体> 

$ {AAA} 


< 時間> 

< P > 
    姓名:$ {user.getName()} 
    ID:$ {user.getId()} 
    年龄:$ {user.getAge()} 
</ P > 

</ ボディ> 
</ HTML>

POJOのエンティティクラス:

パッケージcom.xbf.pojo。

パブリック クラスユーザー{ 

    プライベート int型のID。
    プライベート文字列名;
    プライベート int型の年齢; 

    パブリックユーザー(){ 
    } 

    パブリックユーザ(int型の ID、文字列名、int型の年齢){
         この .ID = ID。
        この .nameの= 名前;
        この .age = 年齢; 
    } 

    公共 INT のgetId(){
         戻りID。
    } 

    公共 ボイド SETID(int型ID){
         この .ID = ID。
    } 

    パブリック文字列のgetName(){
         戻り名。
    } 

    公共 ボイドのsetName(文字列名){
         この .nameの= 名前。
    } 

    公共 INT getAge(){
         戻り年齢; 
    } 

    公共 ボイド setAge(int型の年齢){
         この .age = 年齢。
    } 

    @Override 
    パブリック文字列のtoString(){
         戻り "ユーザー{" +  
                "ID =" + ID +
                "NAME = '" +名+ '\'' + 
                」、年齢= "+年齢+ 
                '}' ; 
    } 
}

要約:のDispatcherServletは、特定のコントローラの先端に分散要求をインターセプトし、モデルデータは、コントローラによって処理され、返されます。

 

おすすめ

転載: www.cnblogs.com/xbfchder/p/11324520.html