2012-01-03 3 views
1

Я написал следующий код:Spring MVC 3 URL начинающего

@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"; 
} 

} 

Теперь у меня есть два сомнения. Мне нужно что-то вроде/test для загрузки index() напрямую. Теперь мне нужно ввести/test/index. Как это настроить.

Во-вторых, index() и welcome() почти одинаковы. Просто, чтобы параметр запроса был добавлен в вывод. Я написал index(), потому что/welcome не будет работать, если нет параметра. Я хочу, чтобы имя txt было сделано необязательным или что-то вроде того, чтобы приветствие можно было отбросить.

+1

Вы могли бы попытаться установить @RequestParam до требуемого = ложному: @RequestParam (значение = «txtname ", required = false) –

ответ

3

Я хочу что-то вроде/test для загрузки индекса() напрямую. Теперь мне нужно ввести/test/index.

Просто пропустить дополнительное отображение:

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

Я хочу txtname быть необязательной или что-то как таковой, так что добро может быть отброшен.

Попробуйте это:

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

Кроме того, ваш метод welcome() может быть упрощена:

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