Java 数据表url中输入的动态值
我在一个模态表单中有一个datatable,我需要在服务器端动态加载它,我有一个捕获值的输入,需要通过javascript(或其他不同于从modelAttribute对象获取值的方法)发送它来加载表 这是数据表,我需要存储在Java 数据表url中输入的动态值,java,jquery,spring-mvc,datatables,thymeleaf,Java,Jquery,Spring Mvc,Datatables,Thymeleaf,我在一个模态表单中有一个datatable,我需要在服务器端动态加载它,我有一个捕获值的输入,需要通过javascript(或其他不同于从modelAttribute对象获取值的方法)发送它来加载表 这是数据表,我需要存储在#idCProp输入中的值 <table th:if="${entity.formulario == 'formPerson'}" class="table dataTable" dt:deferLoading="10" id="propDT" dt:reloadSel
#idCProp
输入中的值
<table th:if="${entity.formulario == 'formPerson'}" class="table dataTable" dt:deferLoading="10" id="propDT" dt:reloadSelector="#reloadProponent" dt:table="true" dt:sortable="true" dt:displaylength="10" dt:dom='ftip' dt:url="@{/person/loadProponents/__${entity.id}__/ **VALUE FROM INPUT**}" dt:serverside="true">
<thead>
<tr>
<th dt:property="entity.id" dt:renderFunction="nameAndLastName">Persona</th>
<th dt:property="entity.id" dt:sortable="false" dt:renderFunction="getProposalPost">Cargo</th>
<th dt:property="entity.id" dt:sortable="false" dt:renderFunction="getProposalInstitution">Institución</th>
<th dt:property="sendMethod.name" dt:sortable="false">Método de envío</th>
<th class="operations" dt:sortable="false" dt:property="id" dt:renderFunction="idToUrlProp"></th>
</tr>
</thead>
</table>
<input type="hidden" id="idCProp"/>
人格面具
货物
学院
并购;环境与环境托多酒店;o
这就是控制器方法
@RequestMapping(value = "/person/loadProponents/{idPerson}/{idCandidature}", method = RequestMethod.GET)
public @ResponseBody DatatablesResponse<Proposal> loadProponents(@PathVariable("idPerson") Long idPerson,@PathVariable("idCandidature") String idCandidature,
@DatatablesParams DatatablesCriterias criterias, HttpServletRequest request) {
//Do some stuff...
}
@RequestMapping(value=“/person/loadproperties/{idPerson}/{idcandidate}”,method=RequestMethod.GET)
public@ResponseBody datatableResponse loadPropositers(@PathVariable(“idPerson”)长idPerson,@PathVariable(“idCandidate”)字符串idCandidate,
@DataTableParams DatatablesCriterias准则,HttpServletRequest请求){
//做些事情。。。
}
我如何发送
idcandidate
变量?我认为它使用的更好方法是请求变量来执行
您的视图代码为:
<form id="searchForm">
<input type="hidden" id="idCProp"/>
<button class="btn btn-primary" type="button"
th:text="#{proposals.find}"
onclick="findProposals();"></button>
</form>
<table th:if="${entity.formulario == 'formPerson'}" class="table dataTable" dt:deferLoading="10" id="propDT" dt:reloadSelector="#reloadProponent" dt:table="true" dt:sortable="true" dt:displaylength="10" dt:dom='ftip' dt:url="@{/person/loadProponents/__${entity.id}__}" dt:serverside="true">
<thead>
<tr>
<th dt:property="entity.id" dt:renderFunction="nameAndLastName">Persona</th>
<th dt:property="entity.id" dt:sortable="false" dt:renderFunction="getProposalPost">Cargo</th>
<th dt:property="entity.id" dt:sortable="false" dt:renderFunction="getProposalInstitution">Institución</th>
<th dt:property="sendMethod.name" dt:sortable="false">Método de envío</th>
<th class="operations" dt:sortable="false" dt:property="id" dt:renderFunction="idToUrlProp"></th>
</tr>
</thead>
</table>
<script th:inline="javascript">
function findProposals() {
oTable_propDT.columns(2).search($("#idCProp").val());
... // more parameters if you need
oTable_propDT.columns(n).search($("#yoursearchparameterfrominput").val());
oTable_propDT.draw();
}
</script>
人格面具
货物
学院
并购;环境与环境托多酒店;o
函数findProposals(){
oTable_propDT.columns(2).search($(“#idCProp”).val());
…//如果需要,请提供更多参数
oTable_propDT.columns(n).search($(“#yoursearchparameterfrominput”).val();
可旋转的绘制();
}
在控制器中,您已经拥有所需的一切:
@RequestMapping(value = "/person/loadProponents/{idPerson}", method = RequestMethod.GET)
public @ResponseBody DatatablesResponse<Proposal> loadProponents(@PathVariable("idPerson") Long idPerson, HttpServletRequest request) {
DatatablesCriterias criterias = DatatablesCriterias.getFromRequest(request);
DataSet<Proposal> dataset = proposalService.getProposalsDataset(criterias);
return DatatablesResponse.build(dataset, criterias);
}
@RequestMapping(value=“/person/loadproperties/{idPerson}”,method=RequestMethod.GET)
public@ResponseBody datatableresponse loaduppositers(@PathVariable(“idPerson”)Long idPerson,HttpServletRequest){
DatatablesCriterias-criterias=DatatablesCriterias.getFromRequest(请求);
DataSet DataSet=proposalService.GetProposalDataSet(标准);
返回DataTableResponse.build(数据集、标准);
}
最后,您只需要编写proposalService#GetProposalDataSet(DatatablesCriterias criterias)
方法来构建数据集
,我认为这没什么特别的。我认为它使用的更好方法是请求变量来实现它
您的视图代码为:
<form id="searchForm">
<input type="hidden" id="idCProp"/>
<button class="btn btn-primary" type="button"
th:text="#{proposals.find}"
onclick="findProposals();"></button>
</form>
<table th:if="${entity.formulario == 'formPerson'}" class="table dataTable" dt:deferLoading="10" id="propDT" dt:reloadSelector="#reloadProponent" dt:table="true" dt:sortable="true" dt:displaylength="10" dt:dom='ftip' dt:url="@{/person/loadProponents/__${entity.id}__}" dt:serverside="true">
<thead>
<tr>
<th dt:property="entity.id" dt:renderFunction="nameAndLastName">Persona</th>
<th dt:property="entity.id" dt:sortable="false" dt:renderFunction="getProposalPost">Cargo</th>
<th dt:property="entity.id" dt:sortable="false" dt:renderFunction="getProposalInstitution">Institución</th>
<th dt:property="sendMethod.name" dt:sortable="false">Método de envío</th>
<th class="operations" dt:sortable="false" dt:property="id" dt:renderFunction="idToUrlProp"></th>
</tr>
</thead>
</table>
<script th:inline="javascript">
function findProposals() {
oTable_propDT.columns(2).search($("#idCProp").val());
... // more parameters if you need
oTable_propDT.columns(n).search($("#yoursearchparameterfrominput").val());
oTable_propDT.draw();
}
</script>
人格面具
货物
学院
并购;环境与环境托多酒店;o
函数findProposals(){
oTable_propDT.columns(2).search($(“#idCProp”).val());
…//如果需要,请提供更多参数
oTable_propDT.columns(n).search($(“#yoursearchparameterfrominput”).val();
可旋转的绘制();
}
在控制器中,您已经拥有所需的一切:
@RequestMapping(value = "/person/loadProponents/{idPerson}", method = RequestMethod.GET)
public @ResponseBody DatatablesResponse<Proposal> loadProponents(@PathVariable("idPerson") Long idPerson, HttpServletRequest request) {
DatatablesCriterias criterias = DatatablesCriterias.getFromRequest(request);
DataSet<Proposal> dataset = proposalService.getProposalsDataset(criterias);
return DatatablesResponse.build(dataset, criterias);
}
@RequestMapping(value=“/person/loadproperties/{idPerson}”,method=RequestMethod.GET)
public@ResponseBody datatableresponse loaduppositers(@PathVariable(“idPerson”)Long idPerson,HttpServletRequest){
DatatablesCriterias-criterias=DatatablesCriterias.getFromRequest(请求);
DataSet DataSet=proposalService.GetProposalDataSet(标准);
返回DataTableResponse.build(数据集、标准);
}
最后,您只需要编写proposalService#GetProposalDataSet(DatatablesCriterias criterias)
方法来构建Dataset
,我认为这没什么特别的。也许@tduchateau可以帮助您…您尝试过吗?也许@tduchateau可以帮助您…您尝试过吗?