如何定义传递给控制器的路径变量(spring mvc)
How to define path variable to pass to controller (spring mvc)
我知道这会非常简单,但我不知道如何从表单中获取路径变量。
这是我在下面定义的表格:
<form:form action="dogs/" method="get">
<div class="row">
<div class="col-md-3">
<div class="input-group">
<div class="input-group-addon" style="background-color: transparent; border-right:0 solid transparent;"><span class="glyphicon glyphicon-search"></span></div>
<input type="text" class="form-control" placeholder="search by ID #" name="id" id="id" />
<div class="input-group-btn">
<input type="submit" class="btn btn-info" value="Go" />
<button class="btn btn-info" onclick="location.href='id'">Go</button>
</div>
</div>
</div>
<br><br>
</div>
</form:form>
这是我的控制器方法,我想从中获取路径变量:
@RequestMapping(value ="dogs/{id}", method = RequestMethod.GET)
public String getDogId(@PathVariable(value ="id") Long value, Model model){
return "";
}
但是 url 我得到并导致错误如下:
http://localhost:8080/controller/dogs/dogs/?id=8
我要的是:http://localhost:8080/controller/dogs/8
我不知道如何将输入动态传递给按钮,甚至不传递给按钮而是传递给表单操作。任何帮助将不胜感激。
恐怕没有 javascript 的帮助你无法完成它。
编辑:这里有一个 jsfiddle 可以帮助您:https://jsfiddle.net/n588jL07/2/
function setURL(form) {
form.action="dogs/"+form.urlVal.value;
console.log(form.action);
event.preventDefault();
}
我知道这会非常简单,但我不知道如何从表单中获取路径变量。
这是我在下面定义的表格:
<form:form action="dogs/" method="get">
<div class="row">
<div class="col-md-3">
<div class="input-group">
<div class="input-group-addon" style="background-color: transparent; border-right:0 solid transparent;"><span class="glyphicon glyphicon-search"></span></div>
<input type="text" class="form-control" placeholder="search by ID #" name="id" id="id" />
<div class="input-group-btn">
<input type="submit" class="btn btn-info" value="Go" />
<button class="btn btn-info" onclick="location.href='id'">Go</button>
</div>
</div>
</div>
<br><br>
</div>
</form:form>
这是我的控制器方法,我想从中获取路径变量:
@RequestMapping(value ="dogs/{id}", method = RequestMethod.GET)
public String getDogId(@PathVariable(value ="id") Long value, Model model){
return "";
}
但是 url 我得到并导致错误如下:
http://localhost:8080/controller/dogs/dogs/?id=8
我要的是:http://localhost:8080/controller/dogs/8 我不知道如何将输入动态传递给按钮,甚至不传递给按钮而是传递给表单操作。任何帮助将不胜感激。
恐怕没有 javascript 的帮助你无法完成它。
编辑:这里有一个 jsfiddle 可以帮助您:https://jsfiddle.net/n588jL07/2/
function setURL(form) {
form.action="dogs/"+form.urlVal.value;
console.log(form.action);
event.preventDefault();
}