【问题标题】:how do i solve the double method while string in java with servlet [closed]java - 我如何使用servlet在java中解决双精度方法[关闭]
【发布时间】:2015-07-14 05:21:08
【问题描述】:
package com.dev.web.Controller;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dev.web.Dao.UserDao;
import com.dev.web.Model.User;

public class UserControll extends HttpServlet
{
    private static final long serialVersionUID = 1L;
    private static String INSERT_OR_EDIT = "/user.jsp";
    private static String LIST_USER = "/listEmp.jsp";
    private UserDao dao;

    public UserControll() {
        super();
      UserDao dao = new UserDao();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String forward="";
        String action = request.getParameter("action");

        if (action.equalsIgnoreCase("delete")){
            int Employee_Id= Integer.parseInt(request.getParameter("Employee_Id"));
            dao.deleteUser(Employee_Id);
            forward = LIST_USER;
            request.setAttribute("users", dao.getAllUsers());    
        } else if (action.equalsIgnoreCase("edit")){
            forward = INSERT_OR_EDIT;
            int Employee_Id = Integer.parseInt(request.getParameter("empId"));
            User user = dao.getUserById(Employee_Id);
            request.setAttribute("user", user);
        } else if (action.equalsIgnoreCase("listUser")){
            forward = LIST_USER;
            request.setAttribute("Employee", dao.getAllUsers());
        } else {
            forward = INSERT_OR_EDIT;
        }

        RequestDispatcher view = request.getRequestDispatcher(forward);
        view.forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        User user = new User();
        user.setEmployee_Name(request.getParameter("empname"));
        user.setSalary(request.getParameter("empsalary"));// here is my error..i declared salary is double
        try {
            Date dob = new SimpleDateFormat("MM/dd/yyyy").parse(request.getParameter("empdob"));
            user.setDob(dob);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        user.setActive(request.getParameter("empactive"));// here is my error.. i declared active is boolean
        String empid = request.getParameter("empid");
        if(empid == null || empid.isEmpty())
        {
            dao.addUser(user);
        }
        else
        {
            user.setEmployee_ID(Integer.par`enter code here`seInt(empid));
            dao.updateUser(user);
        }
        RequestDispatcher view = request.getRequestDispatcher(LIST_USER);
        request.setAttribute("users", dao.getAllUsers());
        view.forward(request, response);
    }
}

【问题讨论】:

  • 首先,格式化您的代码以便清楚地理解。
  • 发布更多细节,您发布的只是代码,无需解释,请转到帮助页面并参考页面中的“询问”部分。 stackoverflow.com/help
  • 我在 set&get 值中声明薪水为双倍,但是当我执行控制语句时它告诉“用户类型中的方法 setSalary(Double) 不适用于参数(字符串)
  • 如果您打算在 salary 上做任何数学运算,请停止使用 double,否则 Richard Pryor 会挪用您所有的零钱。 stackoverflow.com/questions/3730019/…
  • 不,我没有对薪水进行任何数学计算,只需在其中输入 emp 薪水

标签: java jsp servlets


【解决方案1】:

HttpServletRequestgetParameter() 方法继承自ServletRequest。从API docs 你可以看到这个方法总是返回一个string。例如,您需要从该字符串中解析布尔值或双精度值

Double.parseDouble(request.getParameter("empsalary"));

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多