2014-11-20 136 views
0

我的HTML看起来像:getParameter();返回null

<form id="idForm3"> 
    <center> 
     <fieldset style="width:30%;"> 
      <legend>Edit Elements:</legend> 
         Nome:<input type="text" size="20" maxlength="20" value="" name="TEXT_EDIT">&nbsp; 
         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.price正在接收空而produtoDTO.text完美的作品。

我怀疑,因为它是一个GET GET不request.getParameter()

回答

0

工作,你的参数需要在查询字符串,类似于你是如何传递“文本”。因此,在您的网址的结尾:

文本=财产以后& PRICE_EDIT = somethingElse

0

我使用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) { 
    } 
} 
0

你不应该使用@PathParam,你需要一个@QueryParam