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,