【问题标题】:send java array from jsp to controller in spring using ajax使用ajax在spring中将java数组从jsp发送到控制器
【发布时间】:2014-05-10 03:47:46
【问题描述】:

我有一个 jsp 页面,它在 java 中有一个 double[] 数组和一个按钮,这是 JSP 的代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%

    double[] beta = {1.2,4.3,1.0};       

%>

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

    <button id="validate">Validate</button>


</body>
</html>

在验证按钮上单击我正在进行一个 ajax 调用,它正在向控制器发送请求:

$('#validate').click(function() {
$.ajax({
    url : 'controllerMethod'
    type : 'POST'
    data : ''
    success:function(data){

    }
});
});

如何发送带有 ajax 请求的 beta 数组,以便我可以在控制器方法中访问它。

@RequestMapping(value = "/controllerMethod", method = RequestMethod.POST)
@ResponseBody
 public String validateSymbol(WebRequest webRequest,Model model,HttpServletRequest request, HttpServletResponse response) {

    //beta;

 }

【问题讨论】:

    标签: java jquery ajax spring jsp


    【解决方案1】:

    只需在您的 ajax 数据中传递数组即可。 我在这里制作data array

    $('#validate').click(function() {
      var data = [ "hello", "world" ];
    $.ajax({
      url : 'controllerMethod',
      type: "POST", 
      dataType: 'json',
      data: "data="+data,
      success:function(data){
    
    }
    });
    });
    

    在控制器中使用@Requestparam 获取字符串数组,即String[] data

    @RequestMapping(value = "/controllerMethod", method = RequestMethod.POST)
    @ResponseBody
     public String validateSymbol(WebRequest webRequest,Model model,HttpServletRequest request, HttpServletResponse response,@RequestParam String[] data) {
    
        //beta;
        //Here you will get your array in `data String array` which is passed from ajax call
     }
    

    【讨论】:

    • 您创建的数据数组在 javascript 中,但我的数据数组(测试版)在 java 中,我认为一种方法是在 javascript 中访问 java 变量是var data = &lt;%=beta%&gt;; - 但我只是在寻找替代方案bcs 我不确定它是否会保留数组的数据类型,该数据类型在从 java 移动到 javascript 再到 java 时是双倍的。
    • @Naveen 我认为你会直接在 jQuery 中获取数组,所以只需传递它。
    猜你喜欢
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多