Javascript 使用当前项目将字符串从java发送到js

Javascript 使用当前项目将字符串从java发送到js,javascript,spring,Javascript,Spring,在提出这个问题之前,我已经阅读了论坛,并尝试了很多来自论坛的建议。我不知道,也许我不清楚,或者也许我申请我目前项目的原因,但是论坛上的答案在我的项目中不起作用 爪哇: @RequestMapping(value = "/warehouseWhisky", method = {RequestMethod.GET, RequestMethod.POST}) public ModelAndView viewAllWhiskyInWarehouse() { Iterable<WhiskyD

在提出这个问题之前,我已经阅读了论坛,并尝试了很多来自论坛的建议。我不知道,也许我不清楚,或者也许我申请我目前项目的原因,但是论坛上的答案在我的项目中不起作用

  • 爪哇:

     @RequestMapping(value = "/warehouseWhisky", method = {RequestMethod.GET, RequestMethod.POST})
     public ModelAndView viewAllWhiskyInWarehouse() {
    
    Iterable<WhiskyDTO> list = whiskyService.seeAllWhisky();
    String  email = receiveEmailFromSecurity.getEmail();
    System.out.println(email);
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.addObject("viewAvailableWhisky", list);
    modelAndView.addObject("email", email);
    
    modelAndView.setViewName("whisky");
    return modelAndView;
    }
    

    • 我认为第一种方法可能很好——只是你调用了错误的URL。您的服务器映射是什么?我会期待类似于-

      第二个问题是,它的预期与下面的类似-这就是为什么你会得到500分

      @RequestMapping(value = "/warehouseWhisky/{email}")
      

      我认为第一种方法可能很好——只是你调用了错误的URL。您的服务器映射是什么?我会期待类似于-

      第二个问题是,它的预期与下面的类似-这就是为什么你会得到500分

      @RequestMapping(value = "/warehouseWhisky/{email}")
      


      我认为这个问题是由电子邮件中的特殊字符引起的,比如“@”。换句话说,您不能使用
      @PathVariable
      (使用普通路由配置)发送电子邮件地址。您可以使用
      @RequestParam
      发送电子邮件,而不是
      @PathVariable
      ,并将其作为查询参数发送。

      我认为问题是由于电子邮件中的特殊字符引起的,如“@”。换句话说,您不能使用
      @PathVariable
      (使用普通路由配置)发送电子邮件地址。您可以使用
      @RequestParam
      发送电子邮件,而不是
      @PathVariable
      ,并将其作为查询参数发送。

      您在调用什么?它可以找到映射-但是第二个变体中的问题是您缺少URL中的电子邮件。关注第一种方法——URL是什么。为这个urlI提供一些日志我从java发送电子邮件,从数据库发送你在呼叫什么?它可以找到映射-但是第二个变体中的问题是您缺少URL中的电子邮件。关注第一种方法——URL是什么。为这个urlI提供一些日志我从java发送电子邮件,从DBNo-你的服务器会说类似localhost:8080//试试localhost:8080/warehousewisky/warehousewisky/test@test.comI做shoppingCart,当用户点击“购买”按钮时,我想从java向JS发送他的电子邮件,并在他的电子邮件上发送来自shoppingCart的订单。我不知道什么样的电子邮件会成为一个测试的网址-它不应该返回404。事实上,用sys out替换方法体。顺便提一句,为什么您将电子邮件作为参数,然后进行覆盖?否-您的服务器将显示类似localhost:8080//的内容,请尝试localhost:8080/warehousewisky/warehousewisky/test@test.comI做shoppingCart,当用户点击“购买”按钮时,我想从java向JS发送他的电子邮件,并在他的电子邮件上发送来自shoppingCart的订单。我不知道什么样的电子邮件会成为一个测试的网址-它不应该返回404。事实上,用sys out替换方法体。顺便说一句,为什么您将电子邮件作为参数然后覆盖?您能举例说明一下,我知道如何从js发送到java,从HTML发送到java使用'@RequestParam',但我不明白如何从java发送到js使用'@RequestParam',为什么您要从java发送到js。请记住,您的客户端JS脚本无法处理请求,因此您不能作为请求参数发送,但您可以根据需要发送响应。我不理解“从Java发送到JS”的含义,无论如何,您可以使用
      @RequestParam
      将电子邮件地址作为查询参数发送到控制器。之后,你的电子邮件地址在方法的范围内,你可以做任何你想做的事情。你能举例说明,我知道如何从js发送到java,从HTML发送到java使用'@RequestParam',但我不明白如何从java发送到js使用'@RequestParam',为什么你想从java发送到js。请记住,您的客户端JS脚本无法处理请求,因此您不能作为请求参数发送,但您可以根据需要发送响应。我不理解“从Java发送到JS”的含义,无论如何,您可以使用
      @RequestParam
      将电子邮件地址作为查询参数发送到控制器。之后,你的电子邮件地址在方法的范围内,你可以做任何你想做的事情。
      @RequestMapping(value = "/warehouseWhisky/{email}")