大家好,我需要你的帮助。 我想在现有数量中添加库存。 例如,在我的jsp表单中,我必须输入要添加到我的数量的库存。如果我有10个数量,我输入5stock。数量现在将变为15。
我的控制器看起来像这样:
@RequestMapping(method = RequestMethod.POST, value = "/updateUser")
public String updateUser(HttpServletRequest request, ModelMap map) {
String searchId = request.getParameter("userId");
String searchProductName = request.getParameter("productName");
String searchQuantity = request.getParameter("quantity");
String searchPrice = request.getParameter("price");
String searchDdes = request.getParameter("des");
String searchStock = request.getParameter("stock");
String searchDate = request.getParameter("date");
Product updateableUser = new Product();
updateableUser.setPname(searchProductName);
updateableUser.setPquantity(searchQuantity);
updateableUser.setPprice(searchPrice);
updateableUser.setPdes(searchDdes);
updateableUser.setPstock(searchStock);
updateableUser.setPdate(searchDate);
System.out.println("PRODUCT ID += " + searchId);
productService.updateUser(updateableUser);
return this.searchUsers(request, map, null, null);
}
我的DaoImpl
public void updateUser(Product product) {
EntityManager entityManager = transactionManager.getEntityManagerFactory().createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
try {
transaction.begin();
entityManager.merge(product);
transaction.commit();
} catch (Exception exc) {
exc.printStackTrace();
if (transaction.isActive())
transaction.rollback();
} finally {
if (entityManager.isOpen())
entityManager.close();
}
System.out.println("MANA UG UPDATE");
}
我在我的Controller中尝试这个语句: updateableUser.setPquantity(searchQuantity + searchStock);
但是当我有10个数量并输入5stock时,结果将变为105。 我该怎么做才能添加这两个值?
答案 0 :(得分:0)
这看起来像是在两个字符串而不是两个整数上使用+符号,它们将字符串连接在一起而不是将它们作为整数添加在一起。你需要将它们变成Integers,以便以这种方式将它们组合在一起。
E.g。
int quantity = Integer.valueOf(searchQuantity)+ Integer.valueOf(searchStock)
updateableUser.setPquantity(String.valueOf(quantity));
当然,这可能会抛出异常,除非您已经验证它们的数字实际上是整数。