Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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变量传递到包含javascript的不同jsp页面?_Javascript_Java_Jquery_Ajax - Fatal编程技术网

如何将java变量传递到包含javascript的不同jsp页面?

如何将java变量传递到包含javascript的不同jsp页面?,javascript,java,jquery,ajax,Javascript,Java,Jquery,Ajax,我的java类: @RequestMapping(value=“/front”,method=RequestMethod.GET) 公共字符串onemethod(@RequestParam String name,Model Model){String str=“something”; model.addAttribute(“str”,str); 返回“jsppage”; } jsp页面: var arrayCollection = ${str} 有了这段代码,我在Tomcat

我的java类:

@RequestMapping(value=“/front”,method=RequestMethod.GET)
公共字符串onemethod(@RequestParam String name,Model Model){String str=“something”;
model.addAttribute(“str”,str);
返回“jsppage”;
}

jsp页面:

        var arrayCollection = ${str}
有了这段代码,我在Tomcat上得到了404异常。我无法将java变量发送到其他jsp页面。本案例如有任何帮助,我们将不胜感激。

好,结束本案例:

2种选择:

  • 将变量添加到模型中,并直接在JSP中访问它
  • 使其成为rest方法并从ajax调用
  • 示例:

    广告1:

    控制器

    import org.springframework.ui.Model;
    
    @RequestMapping(value = "/front", method = RequestMethod.GET)
    public String onemethod(Model model) throws IOException, ParseException {
        String str = "something";
        model.addAttribute("str", str);
        return "jsppage";
    }
    
    // just to show JSP
    @RequestMapping(value = "/front", method = RequestMethod.GET)
    public String onemethod() throws IOException, ParseException {
        return "jsppage";
    }
    
    // REST
    @ResponseBody
    @RequestMapping(value = "/rest", method = RequestMethod.GET)
    public String secondmethod() {
        return "something";
    }
    
    JSP(“jsppage”)

    广告2:

    控制器

    import org.springframework.ui.Model;
    
    @RequestMapping(value = "/front", method = RequestMethod.GET)
    public String onemethod(Model model) throws IOException, ParseException {
        String str = "something";
        model.addAttribute("str", str);
        return "jsppage";
    }
    
    // just to show JSP
    @RequestMapping(value = "/front", method = RequestMethod.GET)
    public String onemethod() throws IOException, ParseException {
        return "jsppage";
    }
    
    // REST
    @ResponseBody
    @RequestMapping(value = "/rest", method = RequestMethod.GET)
    public String secondmethod() {
        return "something";
    }
    
    JSP(“jsppage”)

    如果还希望发送“name”参数,请将@RequestParam String name添加到控制器方法中,并按如下方式调用ajax:

    $.ajax({
        method : "get",
        url : "rest",
        dataType : 'text',
        data : {"name" : "some name"},
        success : function(data) {
            console.log(data);
        },
        error : function(e){
            console.log(e);
        }
    });
    

    您似乎想从javascript调用rest服务。访问我按照你的建议放了一个ajax,但数据似乎不会变成JavaScriptThank。我做到了。我如何在javascript中检索它?好吧,现在您的问题看起来不同了,这里有两个选择:返回上一个示例,使用“var something='${str}”,您应该在JSP中使用字符串“str”,或者像现在这样做,但将@ResponseBody添加到控制器方法中,并在ajax的“data”属性中发送“name”参数(或者将其设置为@RequestParam(required=false)字符串名)。然后,您将在javascript中的“jsppage”下拥有所有内容。您还可以尝试更改“dataType”“因为你返回了一个字符串,所以我按你说的做了,使用@ResponseBy,我在本地主机上获取数据。但它不会使用javascript。我的ajax中似乎有问题。你能看看它吗?请看我的编辑并检查两个示例中的任何一个。我想我会使用第一个示例。删除请求参数后效果很好。”。