【问题标题】:Passing Array from Jsp to Controller [Spring MVC]将数组从 Jsp 传递到控制器 [Spring MVC]
【发布时间】:2016-06-04 19:27:08
【问题描述】:

我正在尝试将 Javascript 数组从 JSP 传递到我的控制器类 -

JSP -

var myArray = [];
myArray .push("OU=Software,DC=example,DC=com,");
myArray .push("OU=IT,DC=example,DC=com,");
$("#ADOus").attr("action","${ctx}/ADSetting?myOUsArray ="+ myArray );
$("#ADOus").submit();

控制器 -

@RequestMapping(value = { "/ADSetting" },  method=RequestMethod.POST)
    public String configureOUs(HttpServletRequest request,@RequestParam("myOUsArray ") String[] myOUsArray ){
        logger.info("myOUsArray.length "+myOUsArray.length);

        return "";
    }

问题是收到的长度是 6 而不是 2。我想所有逗号分隔的值都被视为数组的单个值。 如何解决这个问题,我的意思是如何在我的控制器类中接收带有逗号和空格的java脚本数组。

【问题讨论】:

    标签: java arrays jsp spring-mvc model-view-controller


    【解决方案1】:

    您可以使用以下代码将 javascript 数组转换为 JSON。

    JSON.stringify(yourArray);

    在控制器中,接受它作为字符串参数,然后使用杰克逊库将其转换回数组,如下所示:

    ObjectMapper 映射器 = new ObjectMapper(); String[] 数组 = mapper.readValue(jsonString, String[].class):

    希望对你有帮助!

    【讨论】:

    • 解决方案有效,但包装类有办法解决吗?
    猜你喜欢
    • 2012-12-08
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2013-08-01
    • 2012-11-16
    • 1970-01-01
    相关资源
    最近更新 更多