request.setAttribute 里面参数问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 23:28:16
package chp1.action;
import chp1.framework.*;
import javax.servlet.http.*;
import chp1.biz.*;

public class AddAction implements Action{
private Calculator biz = new Calculator();
public String execute(HttpServletRequest request,HttpServletResponse response){
double num1 = Double.parseDouble(request.getParameter("num1"));
double num2 = Double.parseDouble(request.getParameter("num2"));
double result = biz.add(num1, num2);

request.setAttribute("result",result);//这里报错
return "/add_result.jsp";
}

}

biz 方法public class Calculator {
public double add(double a,double b){
return a+b;
}
//接口public interface Action {
public String execute(HttpServletRequest request,HttpServletResponse response);
}
//Servlet public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, I

result 是个值类型 setAttribute的参数是String 和 Object

所以你放的时候 要 你的变量包装一下

Double res = new Double(result);//包装
request.setAttribute("result", res);//再设置进去

取的时候
Double res = (Double)request.getAttribute("result");
double result = res.doubleValue();