如何将 for 循环放入 JavaMailSender 的 html 字符串内容中?

问题描述

我通过邮件用户发送订单确认 这是我的订单结账控制器:

@PostMapping("/purchase")
    public PurchaseResponse placeOrder(@RequestBody Purchase purchase) {

        PurchaseResponse purchaseResponse = checkoutService.placeOrder(purchase);

        sendOrderConfirmationMail(purchase,purchaseResponse);


        return purchaseResponse;
    }


    private void sendOrderConfirmationMail(Purchase purchase,PurchaseResponse purchaseResponse) {

        //List<OrderItem> orderItemList = (List<OrderItem>) purchase.getorderItems();

        String content="<html>\n" +
                "<body>\n" +
                "    <h3>WWW.HobbyShop.com</h3>\n" +
                "    <h3>Thank You for your purchase,</h3>" + purchase.getCustomer().getFirstName() + " " + purchase.getCustomer().getLastName() + "\n" +
                "    <h3>Order summary</h3>\n" +



                "    <h3><b>Order Details</b></h3>\n" +
                "    <h5>Your order will ship to:</h5>\n" +
                        purchase.getCustomer().getFirstName() + " " + purchase.getCustomer().getLastName() + ",\n" +
                        purchase.getShippingAddress().getStreet() + ",\n" +
                        purchase.getShippingAddress().getCity() + "," + purchase.getShippingAddress().getState() + " " + purchase.getShippingAddress().getZipCode() + "\n" +
                        purchase.getShippingAddress().getCountry() + "\n" +
                "    <h5>Your order Tracking Number:</h5>\n" +
                        purchaseResponse.getorderTrackingNumber() + "\n" +
                "</body>\n" +
                "</html>";


        mailService.sendHtmlMail(purchase.getCustomer().getEmail(),"ORDER CONFIRMED",content);
    }


我正在尝试像这样循环遍历字符串内容中的订单项:查看评论

private void sendOrderConfirmationMail(Purchase purchase,PurchaseResponse purchaseResponse) {

        List<OrderItem> orderItemList = (List<OrderItem>) purchase.getorderItems();

        String content="<html>\n" +
                "<body>\n" +
                "    <h3>WWW.HobbyShop.com</h3>\n" +
                "    <h3>Thank You for your purchase,</h3>" + purchase.getCustomer().getFirstName() + " " + purchase.getCustomer().getLastName() + "\n" +
                "    <h3>Order summary</h3>\n" +

                
                // displaying order item by looping through the orderItem list
                
                        for (OrderItem orderItem : orderItemList) {
                             orderItem.getName() + "\n" +
                                      "<img src='" + orderItem.getimageUrl() + "'>\n" +
                                      orderItem.getQuantity() + "\n" +
                                      orderItem.getUnitPrice() + "\n" +
     
                          } +
                
                


                "    <h3><b>Order Details</b></h3>\n" +
                "    <h5>Your order will ship to:</h5>\n" +
                        purchase.getCustomer().getFirstName() + " " + purchase.getCustomer().getLastName() + ",content);
    }

但它给了我这样的错误


';' expected
Expression expected


如果我删除 for 循环,错误就会消失并且它可以工作,但我想遍历 orderItemList 以显示用户订单项。

那么,如何在 html 字符串内容添加 for 循环?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)