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
亲爱的先生,我无法解析字符串值,因为它正在提供NumberFormatException
。我能够获得所有字符串值,如图所示。我检查了一切,但无法理解究竟是什么问题。请检查并给我你的反馈......
答案 0 :(得分:1)
首先,将这些参数的值存储到varibles中,然后打印变量的值以及将要开发的值。
e.g:
String categoryId=request.getParameter("categoryid");
System.out.println(categoryId);
long categoryid123=Long.parseLong(categoryId);
查看是否可能发生NumberFormatException。
答案 1 :(得分:0)
您的输入中可能有空格。
尝试删除空格,呃:
long AssetId=Long.parseLong(Assetid.trim());
答案 2 :(得分: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
我认为这个空间也引起了一些问题。
对不起,我没有解决你的问题,但我希望无论如何这都有帮助。