java - 如何访问通过控制器类中的链接传递的变量?
问题描述
我有一个在 tomcat 中运行的 java spring mvc 应用程序。
下面是我如何创建我的数据表。
我需要将 sender 和 smsc 变量传递给控制器,以便我可以使用它来查询列表,然后在同一页面上返回列表。
$('#datatables').DataTable({
"dom": '<"toolbar">frtip',
"responsive": true,
"ordering": false,
"scrollY": "550px",
"scrollCollapse": true,
"ajax": "smsSenders.json",
"aoColumns": [
{"mData": "sender"},
{"mData": "content"},
{"mData": "receiveTime"},
{"mData": "portId",
"fnCreatedCell": function (nTd,oData) {
$(nTd).html("<i class='ti-pencil-alt btn btn-simple btn-assign btn-icon' data-toggle='modal' data-mode='asign'></i>\n\n\
<a href='${pageContext.request.contextPath}/dashboard?sender="+oData.sender+"&smsc="+oData.smsc+"><i class='ti-comment-alt btn btn-simple btn-reply btn-icon' data-toggle='modal' data-mode='conversation'></i>\
");
}
}
],
language: {
"search": "_INPUT_",
searchPlaceholder: "Search records"
}
});
demo.initCirclePercentage();
我有这个控制器类:
@RequestMapping(value = {"/dashboard"}, method = RequestMethod.GET)
public String dashboard(ModelMap model, @RequestParam(value = "sender", required = false) String sender,
@RequestParam(value = "smsc", required = false) String smsc, HttpServletRequest request) {
model.addAttribute("pageTitle", "asdasdasd");
String totalTickets = cnrService.countAllTickets();
String countOpenTickets = cnrService.countAllTicketsOpen();
String countInworkTickets = cnrService.countAllTicketsInwork();
String countPendingTickets = cnrService.countAllTicketsPending();
String countClosedTickets = cnrService.countAllTicketsClosed();
model.addAttribute("countOpenTickets", countOpenTickets);
model.addAttribute("countInworkTi ckets", countInworkTickets);
model.addAttribute("countPendingTickets", countPendingTickets);
model.addAttribute("countClosedTickets", countClosedTickets);
model.addAttribute("totalTickets", totalTickets);
return "dashboard";
}
我正在尝试打印值或使用 LOGGER.debug 但它似乎不会打印任何东西,我认为它没有将值传递给控制器类。我真的需要你们的帮助,我已经做了将近两个星期了。
解决方案
我对此知之甚少,DataTable
但我想为您的问题提供一些线索:
1.确保请求触发时controlelr被命中,即controlelr可以处理请求但无法获取params。
2.F12
按控制台查看请求信息。
3.很可能是出现了问题DataTable
,我不确定是什么问题,您可以参考以下示例:
$('#tableInfo').DataTable({
orderMulti: false,
ordering: false,
scrollX: $(window).width() - 30,
scrollY: $(window).height() - 300,
scrollCollapse: true,
lengthMenu: [10, 50, 100, 300],
select: false,
filter: false,
processing: true,
serverSide: true,
language: {"url": [[${prop.ctx}]] + "/js/jquery-datatables.language.json"},
ajax: {
url: [[${prop.ctx}]] + "/data",
type: "post",
contentType: "application/json",
data: function (data) {
$.extend(data, {
searchBeans: $("form").serializeArray()
});
return JSON.stringify(data);
}
},
columns: [
{
title: "#",
orderable: false,
searchable: false,
width: "2%",
render: function (data, type, row, meta) {
return meta.row + 1;
}
}, {
title: "NAME",
data: "username",
width: "10%"
}
]
});
推荐阅读
- c++ - 为什么在 C++ 中的类中拥有一个线程并使用构造函数调用它如此困难?
- c# - 使用 UserManager.IsInRoleAsync() 时出现 InvalidOperationException
- reactjs - React-Intl 更改语言不会更改翻译
- php - 如何将日期固定为类似的格式?
- azure-logic-apps - 如何在逻辑应用程序中的 HTTP 触发器上处理 GZIP 压缩 JSON?
- solr - 如何在 Solr 中获取最后一个索引记录
- go - 如何避免使用 -run 标志运行特定测试而不跳过?
- javascript - 将变量添加到 js url 路径中
- python - pyplot plt.text 自定义字体
- php - 实时服务器 Amazon Web Service 中的 cURL php 不起作用