【发布时间】:2017-04-01 18:45:45
【问题描述】:
我是 Spring MVC 的新手。我被要求查询字符串应该使用 POST 方法向控制器发送数据。我知道它如何与 GET 一起工作,但我不知道如何使用 POST 方法将表单值附加到查询字符串中。我正在做这样的事情,
<form action="/user/userId?firstname={firstname}&lastname={lastname}" method="POST">
Enter First Name<input type="text" name = "firstname" />
Enter Last Name<input type="text" name = "lastname" />
<input type="submit" value = "Submit" />
</form>
我想将名字和姓氏附加到字符串中。我该怎么做?
这是我的控制器类
@RequestMapping(value = "/user/userId",method = RequestMethod.POST)
public ModelAndView submitForm(@RequestParam Map<String,String> queryUser)
{
System.out.println(queryUser.get("firstName"));
context = new ClassPathXmlApplicationContext("beans.xml");
Service service = (Service) context.getBean(Service.class);
/*service.save(queryUser);*/
ModelAndView model = new ModelAndView("SecondPage");
return model;
}
【问题讨论】:
-
你为什么使用
Map?如果你知道你想要哪些参数,直接为它们声明@RequestParam注解参数即可。你不需要把它们放在 URL 中,这些是表单参数。 -
为什么每次请求都初始化一个新的
ApplicationContext? -
我忘记删除 applicationcontext 对象。我的问题是如何将表单值(即名字和姓氏)附加到查询字符串?@SotiriosDelimanolis
-
你为什么要这么做?
-
这是给我的要求,不知道如何附加表单值。你能帮忙吗?
标签: java html spring jsp spring-mvc