Какое соглашение для расширения должно использоваться в действиях формы приложения на основе пружины mvc? (.htm или .do) - PullRequest
0 голосов
/ 30 апреля 2020

Например, в действиях формы приложения, основанного на Struts, обычной практикой является использование * .do или * .action как части действия.

Аналогично тому, как обычно действует URL-адрес действий формы весной MVC. Я где-то читал, что мы используем. html или htm. Это правильно?

например, если у меня есть форма

<form action="registerUser.html">
   First Name: <input type="text"></br>
   Last Name: <input type="text">
</form>

Используем ли мы. html как действие формы или что-то еще.

Если это так Затем, кроме настройки входящих *. html запросов к сети. xml, как мы конфигурируем в контроллерах. В бинах контроллера мы сопоставим все входящее действие registerUser. html с его отображенным методом следующим образом:

@RequestMapping("registerUser.*")   // considering that there could be separate views later but registering logic will remain same     
public String registerUser(){

   // registering user

   return viewName;
} 

ИЛИ @RequestMapping("registerUser.html") также можно использовать?

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Вы можете использовать @RequestMapping для отображения остальных URI на указанном c методе контроллера. Я бы порекомендовал использовать более конкретные c сопоставления, такие как: GetMapping, PostMapping, DeleteMapping и PutMapping.

Это старая структура, в которой вам нужно было вручную определять действия в некоторых xml файлах. Пожалуйста, используйте Spring-Boot с Thymeleaf: https://spring.io/guides/gs/handling-form-submission/, вы будете создавать гораздо более быстрые и красивые веб-приложения с этими фреймворками.

Насколько я знаю, название действия могло бы быть просто " registerUser "

0 голосов
/ 30 апреля 2020

Как сказано в https://spring.io/guides/gs/serving-web-content/, достаточно реализовать URL, связанный с соответствующим отображаемым видом (возвращаемое приветствие - это приветствие. html файл):

@Controller
public class GreetingController {

    @GetMapping("/greeting")
    public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
        model.addAttribute("name", name);
        return "greeting";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...