2012-01-03 11 views
1

3 URL: Spring MVCの私は、次のコードを書かれている初心者

@Controller 
@RequestMapping("/test") 
public class Home { 

@RequestMapping(value = "index") 
public String index() { 
    return "index"; 
} 

@RequestMapping(value = "welcome") 
public String welcome(@RequestParam("txtname") String name, ModelMap model) { 
    model.addAttribute("msg", name); 
    return "index"; 
} 

} 

今私は2つの疑問を持っています。私は/ testのようなものをindex()を直接ロードしたい。今、私は/ test/indexとタイプする必要があります。どのように設定するのですか?

2番目のindex()とwelcome()はほぼ同じです。リクエストパラメータが出力に追加されただけです。パラメータがない場合、/ welcomeは動作しないので、私はindex()を書きました。私はtxtnameをオプションにするか、そういうものとしてtxtnameを付けることで、歓迎を落とすことができます。

+1

あなたが必要= falseに@RequestParamを設定しようとすることができます:@RequestParam(値=「txtname "、required = false) –

答えて

3

私は/ testのようなものをindex()を直接ロードしたいと思っています。今、私は/ test/indexとタイプする必要があります。

だけで余分なマッピングをスキップ:私は歓迎をドロップすることができるようにtxtnameがオプションかのような何かを行うことにしたい

@RequestMapping 
public String index() { 
    return "index"; 
} 

を。

これを試してください:あなたのwelcome()方法以外に

@RequestParam(value = "txtname", required = false) 

を簡略化することができます。

@RequestMapping(value = "welcome") 
public String welcome(@RequestParam("txtname") String name) { 
    return new ModelAndView("index", "msg", name); 
}