Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在基于SpringMVC的应用程序的表单操作中使用扩展的约定是什么?(.htm或.do)_Java_Spring_Model View Controller_Dispatcher - Fatal编程技术网

Java 在基于SpringMVC的应用程序的表单操作中使用扩展的约定是什么?(.htm或.do)

Java 在基于SpringMVC的应用程序的表单操作中使用扩展的约定是什么?(.htm或.do),java,spring,model-view-controller,dispatcher,Java,Spring,Model View Controller,Dispatcher,例如,在基于struts的应用程序的表单操作中,通常使用*.do或*.action作为操作的一部分 与此类似,SpringMVC中表单操作url的通常约定是什么。 我在某个地方读到我们使用.html或htm。这是正确的吗 如果我有表格 <form action="registerUser.html"> First Name: <input type="text"></br> Last Name: <input type="text">

例如,在基于struts的应用程序的表单操作中,通常使用*.do或*.action作为操作的一部分

与此类似,SpringMVC中表单操作url的通常约定是什么。 我在某个地方读到我们使用.html或htm。这是正确的吗

如果我有表格

<form action="registerUser.html">
   First Name: <input type="text"></br>
   Last Name: <input type="text">
</form>
或者也可以使用@RequestMappingregisterUser.html?

如中所述,它足以实现与要显示的相应视图关联的url。返回的问候语是greeting.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";
    }
}

您可以使用@RequestMapping将RESTURI映射到特定的控制器方法上。我建议使用更具体的映射,如:GetMapping、PostMapping、DeleteMapping和PutMapping

Struts这是一个旧框架,您需要在一些xml文件中手动定义操作。请将spring boot与Thymeleaf:配合使用,您的创建速度会快得多 以及使用这些框架的更漂亮的web应用程序


据我所知,该行动的名称可以是registerUser

谢谢你的建议。将尝试合并弹簧靴。但同时,如果应用程序支持多个框架,如spring和struts或其他什么,那么前端控制器可能会通过查看操作的扩展来区分并向特定方法发送请求。例如.do可用于struts或任何其他框架,而.htm可用于基于spring的方法。好的,当我们确定url时,将视图返回给用户是可以的,但在提交表单时,表单提交中的操作url应具有.html扩展名作为惯例?我知道这不是必需的,但只是为了防止我们想要将来自不同部分的操作分离开来——可能是jsf表单提交中请求的问候页面,可能是jsp页面,也可能是不同的视图。在本文中,我们给出了一个示例,即直接将表单发布到url,而不使用.html。。。th:action=@{/greeting}表达式指示表单发布到/greeting端点。。。
@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";
    }
}