为了账号安全,请及时绑定邮箱和手机立即绑定

从java servlet以正确的格式将数据插入mysql表

从java servlet以正确的格式将数据插入mysql表

天涯尽头无女友 2023-03-23 15:31:12
我正在从购物车 javascript 获取购物车商品和购物车价格到 jsp,然后将其从 jsp 传输到 servlet,如下所示:String a= request.getParameter("cartitems");//but it prints like Jan-2019Feb-2019March-2019String b=request.getParameter("cartprice");//prints like $100,$200,$400我需要将数据存储在我的数据库中,如下所示: Cart          PriceJan-2019        $100Feb-2019        $200March-2019      $400我正在尝试将此 Jan-2019Feb-2019March-2019 分开,以便它可以存储在我的表中但无法这样做,Jan-2019Feb-2019March-2019 不需要按日期格式分隔,它可以以任何方式分隔如果可能的话,合适的正则表达式。我尝试按如下方式分隔字符串 a 但它不起作用。     String[] result = a.split(",");     out.println(Arrays.toString(result));// prints [June-2019March-2019]如何将上面的数据存储在我的数据库表中,请帮忙!提前谢谢了!
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

从您的 servlet 请求中获取参数:

String cartItemsParameter= request.getParameter("cartitems");

使用方法:

findRexExpList(cartItemParameter, "\\D+\\d+");

方法代码:


 private static List<String> findRexExpList(String text, String regExp) {

    List<String> result = new ArrayList<>();

    Pattern pattern = Pattern.compile(regExp);

    Matcher matcher = pattern.matcher(text);

    while (matcher.find()) {

        String group = matcher.group();

        result.add(group);

    }

    return result;

}

此方法返回带有分隔字符串的列表

对于商店数据:

List<String> carts = findRexExpList(cartItemParameter, "\\D+\\d+");

String[] cartPrices = request.getParameter("cartprice").split(",");

for(int i=0; i<cartPrices.length; i++){

   String cart = carts.get(i);

   String price = cartPrices[i];

   //insert cart and price

}


查看完整回答
反对 回复 2023-03-23
  • 1 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信