java - 在 MVC 中使用 js 和 jsp 发布请求
问题描述
我有一个控制器:
@RequestMapping("/list/a")
public String showFormForAdd(@RequestParam(value="monthParam") String month,Model model) {
System.out.println(month);
model.addAttribute("daysMod",month);
return "two";
}
为什么当我从 jsp №1 发送 post 请求时,控制器接受参数monthParam
并打开新的 jsp-page №2。
<form action="/arakaru/customer/list/a" method="post">
<input type="hidden" name="monthParam" value="Janu">
<input type="submit" value="Add Customer"/>
</form>
但是当我对 js 做同样的事情(发送带有参数的 post 请求monthParam
)时,控制器只接受参数,但它不会打开新的 jsp 页面。是否有任何选项可以通过从 js 获取参数来打开新的 jsp 页面?
function openCity(evt, cityName) {
var i, tabcontent, tablinks;
//console.log(cityName);
var http = new XMLHttpRequest();
var url = "http://localhost:8080/arakaru/customer/list/a";
var params = "monthParam="+cityName;
http.open('POST', url, true);
http.setRequestHeader('Content-type', "application/x-www-form-urlencoded");
http.send(params);
jsp page №2(仅当 post 来自 jsp№1 时有效)
解决方案
尝试这个:
var url = "http://localhost:8080/arakaru/customer/list/a?monthParam="+cityName
您的控制器在查询字符串中需要一个请求参数 (@RequestParam)。
推荐阅读
- spring-boot - 使用 Spring Boot 安排任务
- vue.js - VueJS 全局更改组件槽的内容
- arrays - Angular 7和将两个数组推入一个数组的数组给出了未定义的错误
- python - 如何为python中的每个sql查询创建单独的csv文件?
- spring - Spring Batch:读取多个json文件,一个一个处理
- c# - 在关键字后获得 2 个换行符
- javascript - 如何将javascript变量传递给javascript src链接
- python-3.x - 以编程方式编译或验证 U-SQL
- c# - 多线程 # 带有输入参数的函数
- gradle - Gradle:改变jdk