2014-11-20 52 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