提问人:guido 提问时间:1/21/2020 最后编辑:guido 更新时间:1/21/2020 访问量:578
Java 中 DataTable 的服务器端处理
Server-side processing of DataTables in Java
问:
我有一个带有 Rest api 和 Oracle 数据库的 spring boot 应用程序,并 react front。它运行良好,但现在我想尝试使用服务器端处理的数据表。我有相当多的实体和控制器。我想澄清一些事情。我曾经学习过的每个例子都使用了 jpa。可以使用JDBC吗?(我已经设置了JDBC,我不想在jpa中重做所有内容)。当我尝试将示例更改为 jdbc 时,它们通常以 null 指针异常响应。另外,控制器怎么样?我看到了同时使用 get 和 post 的示例。 通常我使用 get 来获取数据。但是从我尝试复制和用于数据库的内容来看,post 似乎被识别,而 Get 抛出 null。我是否需要在正文或位置指定抽奖和其他参数?另外,是否只有一个控制器可以以某种方式准备其他人的响应,或者我应该更改每个控制器?对不起,这是我第一次在服务器端使用 datatables。 这就是我用的,够了吗?
componentDidMount() {
var index = null;
var table = $(this.refs.main).DataTable({
dom: '<"data-table-wrapper"t>',
data: this.props.data,
"processing": true,
"serverSide": true,
"pageLength": 1,
"ajax": $.fn.dataTable.pipeline( {
"url": "/api/calculations",
"type": "POS"
"data": function (data) {
return data = JSON.stringify(data);
}}),
'pagingType': 'simple',
'order': [[0,'asc']],
'pageLength': 100,
"columns": this.props.columns
});
$(this.refs.main).on('click', 'tr', () => {
var index = table.row(this).index();
var item = table.row(this).data();
this.updateIndex(index);
console.log(index);
console.log(item);
});
}
因此,我的前端在身份验证和授权后,转到我执行的那个组件(api 中有分页,我现在决定尝试没有它)
fetchItems = async (page, elements) => {
try {
const response = await CalculationsApiService.fetchAll()
this.setState({ items: response.data })
} catch (e) {
this.setState({
e,
isError: true,
items: null,
})
}
}
后来在渲染中,我用我的通用表调用我的子组件,并将列和项作为道具传递(本文中代码的第一部分)也许错误是我首先在父级中调用数据,然后在子级中调用ajax?一般的控制器呢?我可以以某种方式使用普通的休息控制器并从我的反应中发送一些特别的东西吗?当上面的教程没有修改时,我有一个带有 responseentity 的普通 rest api
答: 暂无答案
评论