Java 为什么赢了';链接到控制器Spring mvc吗?

Java 为什么赢了';链接到控制器Spring mvc吗?,java,spring-mvc,Java,Spring Mvc,我无法将下面代码的链接重定向到我的控制器类 代码如下: $('#ticketDT').DataTable({ "dom": '<"toolbar">frtip', "responsive": true, "ordering": false, "scrollY": "300px", "scrollCollapse": true, "ajax"

我无法将下面代码的链接重定向到我的控制器类

代码如下:

 $('#ticketDT').DataTable({
            "dom": '<"toolbar">frtip',
            "responsive": true,
            "ordering": false,
            "scrollY": "300px",
            "scrollCollapse": true,
            "ajax": "ticketList.json",
            "bDestroy": true,
            "deferRender": true,
            "aoColumns": [
                {"mData": "ticketNumber"},
                {"mData": "category"},
                {"mData": "subcategory"},
                {"mData": "status"},
                {"mData": "requestedBy"},
                {"mData": "ticketNumber",
                    "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
                        $(nTd).html("<a class='linkColor' href='${pageContext.request.contextPath}/assignMessageTicket?sender_assign=" + encodeURIComponent(sender) + "&portId_assign="+portId+"&messageId=" + encodeURIComponent(messageId) + "&ticketNumber_assign=" + encodeURIComponent(oData.ticketNumber) + "'><span data-toggle='tooltip' title='Assign'><i class='ti-plus btn btn-simple btn-assign btn-icon' data-mode='assignTicket'></i></span></a>");
                    }
                }
            ],
这是我的更新代码

指向控制器的链接为

$(nTd).html("<a class='linkColor' href='${pageContext.request.contextPath}/assignSpecificMessage?messageId="+messageId+"&sender_assign=" + encodeURIComponent(sender) + "&portId_assign="+portId+"&ticketNumber_assign=" + encodeURIComponent(oData.ticketNumber) + "'><span data-toggle='tooltip' title='Assign'><i class='ti-plus btn btn-simple btn-assign btn-icon' data-mode='assignMessageTicket'></i></span></a>");
 @RequestMapping(value = {"assignSpecificMessage"}, method = RequestMethod.GET)
@PreAuthorize("hasAnyRole('CWO_ENCODER,ADMIN')")
public String assignSpecific(@RequestParam(value = "sender_assign",required = true) String sender,
        @RequestParam(value = "portId_assign",required = true) String portId,@RequestParam(value = "messageId",required = true) String messageId,
        @RequestParam(value = "ticketNumber_assign",required = true) String ticketNumber,
        ModelMap model,HttpServletRequest request) {


    return "conversation";
}

我试图创建一个新的处理程序来测试它,但还是出现了相同的错误。

请确保链接的href值正确生成

转到“浏览器元素”选项卡,检查link href的值,确保该值没有中断

或者您可以使用jquery或javascript(如下所示)来实现这一点

$("#idOfAnchorTag").on("click", function(){
   var href = $(this).find('a').attr('href');
  ....

})
更新:由于您在我的一条评论中提供了链接,很明显您的请求参数名称与控制器名称不匹配

链接:

http://localhost:8084/cwms/assignSpecificMessage?assign_sender=%2B639062165304&assign_portId=6&messageId=15416427366198288583&assign_ticketNumber=ADM-1809-00473
控制器:

@RequestParam(value = "sender_assign",required = true) String sender,
        @RequestParam(value = "portId_assign",required = true) String portId,@RequestParam(value = "messageId",required = true) String messageId,
        @RequestParam(value = "ticketNumber_assign",required = true) String ticketNumber,
您在请求中使用了错误的参数名称,因此请将所有参数更改为控制器1

例如
sender\u assign
您作为
assign\u sender
发送,依此类推。


为了使其正常工作,请使用
sender\u-assign
而不是
assign\u-sender
以及客户端(锚href)

的所有其他参数,如果有任何错误,您可以在浏览器中进行检查。@secretsuperstar我也检查了我的控制台,没有错误,很抱歉,我没有告诉您我的意思,“网络呼叫”选项卡(如果您使用的是chrome)的响应是什么?您只是想知道为什么要在您的浏览器中执行
重定向
controller@secretsuperstar是404,它没有坏,我查过了,你能贴满标签吗here@alien检查并解决问题…在控制器中,您使用的是sender\u assign,但在link href中,所有参数都是assign\u sender
@RequestParam(value = "sender_assign",required = true) String sender,
        @RequestParam(value = "portId_assign",required = true) String portId,@RequestParam(value = "messageId",required = true) String messageId,
        @RequestParam(value = "ticketNumber_assign",required = true) String ticketNumber,