我的html看起来像这样:
<form id="idForm3">
<center>
<fieldset style="width:30%;">
<legend>Edit Elements:</legend>
Nome:<input type="text" size="20" maxlength="20" value="" name="TEXT_EDIT">
Preço:<input type="text" size="15" maxlength="15" value="" name="PRICE_EDIT"><br><br>
<input type="button" value="EDIT SELECTED" style="color:blue;"
onclick="var textSelected = document.getElementById('idSelect6').value;
editProductService(textSelected);">
</fieldset>
</center>
</form>当我这样做的时候:
@GET
@Produces("application/json")
@Path("/{text}")
public void getJson(@Context HttpServletRequest request, @PathParam("text")String text) {
boolean success;
Tabela2colunasDTO.Produto produtoDTO;
Tabela2colunasDTO dto = new Tabela2colunasDTO();
produtoDTO = dto.getInstanceProduto();
produtoDTO.text = text;
produtoDTO.price = request.getParameter("PRICE_EDIT");
System.out.println("request: "+ request.getParameter("PRICE_EDIT"));
System.out.println("DTO text : "+produtoDTO.text);
System.out.println("DTO price : "+produtoDTO.price);
sucesso = (new ProdutosDAO()).doUpdate(produtoDTO);
System.out.println("editar sucesso: "+success);
}我正在尝试获取选定的文本并在我的数据库中更改其价格,然而,当produtoDTO.text工作得很好时,produtoDTO.price收到的却是null。
我怀疑GET不适用于request.getParameter()
发布于 2014-11-21 04:50:18
因为它是一个GET,所以您的参数需要在查询字符串中,类似于您传递"text“的方式。因此,在URL的末尾:
?text=somthing&PRICE_EDIT=somethingElse
发布于 2014-11-23 03:05:32
我使用POST方法和添加一行request.getParts();修复了这个问题
实际的代码是:
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces("application/json")
@Path("/{text}")
public void postEditar3(@Context HttpServletRequest request, @PathParam("text")String texto) {
boolean sucesso;
try {
request.getParts();
Tabela2colunasDTO.Produto produtoDTO;
Tabela2colunasDTO dto = new Tabela2colunasDTO();
produtoDTO = dto.getInstanceProduto();
produtoDTO.text = text;
produtoDTO.price = request.getParameter("PRICE_EDIT");
success = (new ProdutosDAO()).doUpdate(produtoDTO);
System.out.println("passou do sucesso doUpdate: "+success);
} catch (IOException | ServletException e) {
}
}发布于 2014-11-25 19:28:32
你不应该使用@PathParam,你需要一个@QueryParam
https://stackoverflow.com/questions/27049144
复制相似问题