gpt4 book ai didi

java - 数据表 url 中输入的动态值

转载 作者:行者123 更新时间:2023-12-02 03:41:47 25 4
gpt4 key购买 nike

我在模态表单中有一个数据表,我需要在服务器端动态加载它,我有一个输入,我在其中捕获值并需要通过javascript(或与从 modelAttribute 对象获取它不同的其他方法)发送它来加载表。

这是数据表,我需要存储在#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&eacute;todo de env&iacute;o</th>
<th class="operations" dt:sortable="false" dt:property="id" dt:renderFunction="idToUrlProp"></th>
</tr>
</thead>
</table>
<input type="hidden" id="idCProp"/>

这是 Controller 方法

@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...
}

如何发送 idCandidature 变量?

最佳答案

我认为更好的方式是使用 dataTables API请求变量来执行此操作。

您的查看代码将是:

<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&eacute;todo de env&iacute;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>

在您的 Controller 中,您已经拥有所需的一切:

@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);
}

最后你只需要编写proposalService#getProposalsDataset(DatatablesCriterias criterias)方法来构建Dataset,我认为这没什么特别的。

关于java - 数据表 url 中输入的动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com