2016-12-11 11 views
0

私はNetbeansの8.02、GlassFishの4.0、JavaEE7、春使用私はちょうどのJavaを学ぶために始めています、これはスタックオーバーフローの私の最初の質問ですので、あまりにも厳しく私を判断しないでください)Javaの春4.01自動マッピング

4.01。 (新規プロジェクト - > Java Web-> Webアプリケーション)

URL localhost:8080/MyProject/x/yの "ソースパッケージ/ XController.java"を作成しました。 URLがhttp://localhost:8080/MyProject/a/bであれば、それは自動的にあることをAController.BAction()と自動的に設定ビューを使用します。

@Controller 
public class XController { 
    @RequestMapping("/x/y.htm") 
    public String yAction(ModelMap modelMap) { 
     modelMap.put("printme", "Hello World!"); 
     return "x/y"; 
    } 
} 

彼らがすべて同じルールを持つことになりますから、注釈を取り除くことが可能です:HTM私はこの作業を得ましたWEB-INF/jsp/a/b.jsp?

public Void yAction() { 
    this.modelMap.put("printme", "Hello World!"); 
} 

をし、URLがhttp://localhost:8080/MyProject/a/b/helloになり場合は、対応する方法は、次のようになります:

理想的アクションコードは次のようになります

public Void yAction(String msg) { 
    this.modelMap.put("printme", msg); 
} 

コントローラまたはアクションまたはが見つからない表示する場合、またはアクションに間違った引数が含まれているだけで、それ以上の解決は必要ありません。

したがって、現代のSpring機能を使用して達成する正しい方法は何ですか?それが不可能な場合は、プレーンJavaを使用しますか?

あなたが探しているもの

答えて

0

@PathVariableである)、手動で行う例えば、その後、同じアドレスにすべてをリダイレクトするURLを解析し、対応するController.Method()を実行しますが、それが良い見ていますすることが可能です:

@RequestMapping("/{var1}/{var2}") 
    public String action1(ModelMap modelMap, @PathVariable String var1, @PathVariable String var2, @PathVariable String var3) { 
     modelMap.put("printme", "Hello World!"); 
     return var1+"/"+var2; 
} 

@RequestMapping("/{var1}/{var2}/{var3}") 
    public String action2(ModelMap modelMap, @PathVariable String var1, @PathVariable String var2, @PathVariable String var3) { 
     modelMap.put("printme", var3); 
     return var1+"/"+var2; 
} 
関連する問題