JavaBeans并发送“双”值

时间:2014-09-09 08:57:44

标签: java html jsp javabeans

我正在尝试编写一个接受英寸数量的参数的HTML页面

在提交了一个JSP页面之后,然后调用一个bean,将这个英寸数量转换为厘米,然后返回输出

这就是我所拥有的:

HTML页面

<html>
   <head>
      <title>Converter</title>
   </head>
   <body>
      <form action="QueryResult.jsp">
        <fieldset><legend>Please enter initial measurement</legend>
          <table>
              <tr>
                  <td>Inches: </td>
                  <td><input type="text" name="inches" /></td>
              </tr>
              <tr>
                  <td><input type="Submit" value="submit" /></td>
              </tr>
          </table>
        </fieldset>
      </form>
   </body>
</html>

我想要使用的bean

package Module6;

import java.io.Serializable;

public class calculate implements Serializable {

   private double inch;
   private double cm;

   public calculate() {}

   public calculate(double tempInch){
       this.inch = tempInch;               
   }

   public double convert(){
       cm = inch * 2.54;
       return cm;
   }  
}

jsp看起来像这样

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title>JSP Page</title>
   </head>
   <body>

   <%@ page import="Module6.calculate"%>

   <%calculate calc = new calculate();%>

   The result is : <% out.println(calc.convert()); %>

   </body>
</html>

结果总是0.0 ......我做错了什么?

2 个答案:

答案 0 :(得分:0)

您没有为Calculate对象提供值。你正在使用无参数构造函数。

此外,您应遵循标准惯例,并为您的班级名称以大写字母开头。

答案 1 :(得分:0)

你没有使用你的<input type="text" name="inches" />,这就是它给0的原因。

你的英寸和厘米使用的是默认值,结果为0.0;

获取上一页输入的值。

request.getParameter("inches");

calculate calc = new calculate(Double.parseDouble(request.getParameter("inches"));