javascript - 将参数从 .js 文件传递​​到 Controller

标签 javascript java spring spring-mvc

我正在尝试将参数从我的 .js 文件传递​​到 Controller 。

"fnCreatedRow" : function(nRow, aData, iDataIndex) {
            $(nRow).attr("row-id", aData["channelRole"]);
            $(nRow).hover(function(event) {
                var row = $(event.target.parentNode);
                row.addClass('row-selected');
            }, function(event) {
                var row = $(event.target.parentNode);
                row.removeClass('row-selected');
            });
            $(nRow).click(function(event) {
                var row = $(event.target.parentNode);
                document.location.href = "role-service-search.json?id=" + row.attr("row-id");
            });
        }

我需要将 Angular 色传递给下面的 Controller 代码。但是当我调试时, Controller 中 Angular 色的值为空。当我不传递 Angular 色以及通过上面的脚本传递 Angular 色时,下面的代码必须工作。

@RequestMapping(value = "/role-service-search", method = RequestMethod.GET )
public void searchRoleService(@ModelAttribute("request") final PageableRoleServiceSearchRequest request, final String role,
                   final BindingResult result) {
    if (request.getInput() == null) {
        RoleServiceSearchRequest newReq= new RoleServiceSearchRequest();
        if(role!=null)
        {
            newReq.setChannelRole(role);
        }

        request.setInput(newReq);
    }
}

最佳答案

你需要用@RequestParam注解方法参数role来告诉框架如何映射查询参数。

@RequestMapping(value = "/role-service-search", method = RequestMethod.GET )
public void searchRoleService(
                   @ModelAttribute("request") final PageableRoleServiceSearchRequest request,
                   @RequestParam(name = "id", required = false) final String role,
                   final BindingResult result) {
    if (request.getInput() == null) {
        RoleServiceSearchRequest newReq= new RoleServiceSearchRequest();
        if(role!=null)
        {
            newReq.setChannelRole(role);
        }

        request.setInput(newReq);
    }
}

由于您在 URL 中将其称为 id,因此您必须提供 Angular 色参数的名称作为 id。否则,您可以重命名 URL 中的参数。

关于javascript - 将参数从 .js 文件传递​​到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50851630/

相关文章:

java - 使用java创建mysql表

java - 在测试环境中实例化 context.xml 的位置

javascript - Bootstrap 导航栏在 iPad 上不起作用

javascript - npm start 运行错误 "var before = prev.prev || {}; TypeError: Cannot read property ' prev' 未定义”

javascript - 选中该字段的复选框时设置 Attr Required

java - OnCretae() 不算数

java - Google Apps 对大型附件的异常(exception)

java - 错误 : org. hibernate.hql.internal.ast.ErrorCounter - 第 1:45 行:意外标记:从表中获取最后一条记录时的 DESC

java - 从 Spring Boot 应用程序连接到 Oracle 数据库时如何修复 "Driver does not support get/set network timeout for connections"?

javascript - 将 JavaScript 接口(interface)与 Rails 后端集成