Java JSP以单一形式使用不同API的多个按钮
在一个JSP表单中放置多个按钮时,我遇到了一些问题Java JSP以单一形式使用不同API的多个按钮,java,api,rest,jsp,controller,Java,Api,Rest,Jsp,Controller,在一个JSP表单中放置多个按钮时,我遇到了一些问题 <form:form action="/search" method="POST"> <tr> <td align="left"> <input type="button" onclick="valSubmit('doImageExtractSearchList', this.form);" value
<form:form action="/search" method="POST">
<tr>
<td align="left">
<input type="button" onclick="valSubmit('doImageExtractSearchList', this.form);" value="Image Extract" />
</td>
<td align="right">
<input type="button" onclick="valSubmit('doCardIssueSearchList', this.form);" value="Card Search" />
</td>
</tr>
</form:form>
谢谢 既然您已经在单击时触发了函数调用,为什么不使用该函数对后端api进行Ajax调用呢。这样,您就可以根据传递到jquery方法中的参数为POST调用提供单独的url,如下所示:
function valSubmit(value, form) {
var url;
if(value == "doImageExtractSearchList") {
url = "http://something/search/imageExtract";
}
else if(value == "doCardIssueSearchList") {
url = "http://something/search/cardExtract";
}
var form = $('#formId');
var data = form.serialize();
$.ajax({
type: "POST",
url: url,
data: data,
success: function(result) {
alert('ok');
},
error: function(result) {
alert('error');
}
});
}
可能在点击按钮时,使用js将表单<代码>操作代码>更改为特定的按钮值,以便控制器只调用特定的方法?您是否有任何示例在js中设置API url以便控制器类可以接收它?下面提供的答案也是一种方法,或者只使用
$(“表单”).attr(“操作”,“你需要被拒绝”)
单击更改操作标签buton@hyperfkcb没问题。在这种情况下,我可以和您核对一下吗?我如何提取控制器类中传递的数据并与@modeldattribute一起使用?@hyperfkcb默认情况下,数据
将是一个查询字符串,您可以将其提取为请求参数。但是如果您愿意,您可以使用JSON.Stringify(数据)
如果要将ajax数据设置为json,请将procesData
标记设置为false,并将datattype设置为json,以便在请求正文中也将数据作为json发送,在这种情况下,请使用@RequestBody
注释提取备份的数据。@hyperfkcb希望答案适合您的情况,并且您能够在请将答案标记为已接受。
function valSubmit(value, form) {
var url;
if(value == "doImageExtractSearchList") {
url = "http://something/search/imageExtract";
}
else if(value == "doCardIssueSearchList") {
url = "http://something/search/cardExtract";
}
var form = $('#formId');
var data = form.serialize();
$.ajax({
type: "POST",
url: url,
data: data,
success: function(result) {
alert('ok');
},
error: function(result) {
alert('error');
}
});
}