为什么我的方法不起作用? 我的Java代码:
@POST
@Path("/request=PostStage")
@Produces(MediaType.APPLICATION_JSON)
public String getStagePOST(@QueryParam("fn")String fn,
@QueryParam("tn")String tn,
@QueryParam("stat")String stat,
@QueryParam("length")String length,
@QueryParam("lon")String lon,
@QueryParam("lat")String lat,
@QueryParam("crgw")String crgw,
@QueryParam("lane")String lane) throws SQLException{
return "Lat: " + lat + " lon: " + lon + " crgw: " + crgw;
}
我的HTML代码:
<form action="http://localhost:9090/services/stage/request=PostStage" method="POST">
<p>Localization:</p>
<p> fn : <input name="fn" /></p>
<p> tn : <input name="tn" /></p>
<p>stat : <input name="stat" /></p>
<p>length : <input name="length" /></p>
<p>Geoposition:</p>
<p>lon : <input name="lon" /></p>
<p>lat : <input name="lat" /></p>
<P> Other:</P>
<p>crgw : <input name = "crgw" /></p>
<p> lane : <input name="lane" /></p>
<input type="submit" value="Searchh" />
</form>
我在html页面中给出参数示例:lon - 12,lat - 12等。 结果,我得到:
Lat: null lon: null crgw: null
为什么?
我找不到问题:(
非常感谢所有答案。
答案 0 :(得分:1)
输入标签上是否应该有类型,例如<input name="lon" type="text" />
?
同时验证表单中的POST是否确实包含参数,Chrome和Firefox中的浏览器调试IDE可能能够看到POST请求的外观。
答案 1 :(得分:0)
工作!我的错误是使用&#34; @ QueryParam&#34;相反&#34; @ FormParam&#34;。