从request.getParameter()获取输入类型=“图像”值

时间:2015-02-12 03:48:31

标签: java html html5 jsp servlets

在我的html中,我的表单会发回给我的Servlet。我想获得输入类型的值=" image"但我得到的是空值。

我的表格:

 <form action="HomeController" method="post">
   <button type="submit" name="s4" value="someValue">
     <img src="s4.jpg" alt="phonestuff">
   </button>
   <input type="hidden" name="s4price" value="800">  
 </form>

我的Servlet帖子:

double s4price = Double.parseDouble(request.getParameter("s4price"));
String s4 = request.getParameter("s4");
System.out.println(s4price);
System.out.println(s4);

我的输出:

800.0
null

预期产出:

800.0
Note4

2 个答案:

答案 0 :(得分:1)

输入类型=“图像”在提交表单时不传递值。你需要以隐藏的价值传递它们。

答案 1 :(得分:1)

您提交按钮不会发送任何图像值。因为 type =“image” 将图片定义为提交按钮

试试这个: -

<form action="HomeController" method="post">
 <button type="submit" name="s4" value="Note4">
    <img src="s4.jpg" alt="phonestuff">
 </button>
 <input type="hidden" name="s4price" value="800">  
</form>

或:为了发送 s4 值,您可以使用图片提交按钮将其作为隐藏字段发送。

<form action="HomeController" method="post">
  <input type="image" src="s4.jpg" alt="Submit" >
  <input type="hidden" name="s4" value="Note4"> 
  <input type="hidden" name="s4price" value="800">  
</form>

servlet帖子: -

double s4price = Double.parseDouble(request.getParameter("s4price"));
String s4 = request.getParameter("s4");
System.out.println(s4price);
System.out.println(s4);

输出:

800.0
Note4