首页 > 解决方案 > 在 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 时有效)

标签: javaspringjsp

解决方案


尝试这个:

var url = "http://localhost:8080/arakaru/customer/list/a?monthParam="+cityName

您的控制器在查询字符串中需要一个请求参数 (@RequestParam)。


推荐阅读