0
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        Transactions trans=new Transactions();

        System.out.println(request.getParameter("assetid"));
        System.out.println(request.getParameter("barcodeno"));
        System.out.println(request.getParameter("location"));
        System.out.println(request.getParameter("employeeid"));
        System.out.println(request.getParameter("categoryid"));


        String categoryId=request.getParameter("categoryid");
        String employeeId=request.getParameter("employeeid");
        String Assetid=request.getParameter("assetid");
        String locationcode=request.getParameter("locationcode");

        long  AssetId=Long.parseLong(Assetid);
        long  categoryid123=Long.parseLong(categoryId);
        long  employeeid=Long.parseLong(employeeId);
        long  LocationCode=Long.parseLong(locationcode);

        System.out.println("here the employeeId id is"+employeeId);
        System.out.println("here the Assetid id is"+Assetid);



        trans.setBarcodeno(request.getParameter("barcodeno"));
        trans.setLocation(new LocationMaster(LocationCode));
        trans.setAssetId(AssetId);

        trans.setCategory(new CategoryMaster((categoryid123)));
        trans.setEmployee(new EmployeeMaster(employeeid));
        //trans.setEquipment(new EquipmentMaster(employeeid));

        SessionFactory sessionFactory=HibernateUtil.getSessionFactory();
        Session sessionHb=sessionFactory.openSession();

        Transaction tx=sessionHb.beginTransaction();

        HttpSession session=request.getSession();
        sessionHb.save(trans);
        System.out.println("transition saved");
        tx.commit();
        response.sendRedirect("Assetisued.jsp");
        //CategoryMaster categorymaster =;

        }

以下是我在解析之前得到的值

Asset id=101
Categoryid=1
Barcode =1
Employeeid=10
locationid=1

亲爱的先生,我无法将字符串值解析为 long NumberFormatException。我能够得到所有字符串值,如图所示。我检查了所有内容,但无法理解到底是什么问题。请检查并给我您的反馈...

4

3 回答 3

1

首先,将这些参数的值存储到变量中,然后打印变量的值以及会发生什么。

例如:

String categoryId=request.getParameter("categoryid");
System.out.println(categoryId);
long  categoryid123=Long.parseLong(categoryId);

查看是否会发生 NumberFormatException。

于 2013-11-09T06:27:54.350 回答
0

您的输入中可能有空格。

尝试删除空格,嗯:

long AssetId=Long.parseLong(Assetid.trim());
于 2013-11-09T06:20:33.900 回答
0

与实际错误相比,这似乎更像是您如何发现问题的问题。

为了更容易发现问题,请确保您遵循命名约定,即变量应采用驼峰式大小写

long  locationCode=Long.parseLong(locationcode);

不是

long  LocationCode=Long.parseLong(locationcode);

我建议的第二件事是使您的变量名称更具描述性和独特性。一个很好的规则是:“如果变量之间的唯一区别是大小写,那么它们太相似了。”

有关此访问的更多信息,请访问http://www.oracle.com/technetwork/java/codeconv-138413.html

最后,如果您遇到问题并提出问题,您应该找到仍然产生问题的最少代码量。这样,更容易帮助你,所以人们会更倾向于。

现在对于实际问题,我认为您需要确保您没有解析太多空格。即在

Barcode =1

您应该删除空间,使其变为

Barcode=1

而在

Asset id=101

我认为空间也造成了一些问题。

很抱歉,我没有解决您的问题,但我希望这对您有所帮助。

于 2013-11-09T06:28:31.577 回答