java - 出现错误 java.util.UnknownFormatConversionException : Conversion = '"' when making html table

标签 java html html-table

我正在尝试编写一个发送电子邮件程序。我使用 html 作为电子邮件模板,但出现错误:

java.util.UnknownFormatConversionException: Conversion = '"'

这是错误和我的代码:

java.util.UnknownFormatConversionException: Conversion = '"'
java.util.Formatter.checkText(Unknown Source)
java.util.Formatter.parse(Unknown Source)
java.util.Formatter.format(Unknown Source)
java.util.Formatter.format(Unknown Source)
java.lang.String.format(Unknown Source)

id.jd.partnership.service.message.impl.SendingEmailServiceImpl.sendEmail(SendingEmailServiceImpl.java:86)

这是 sendEmail 第 86 行:

String contentResult = String.format(htmlText, customer.getName());

这是 htmlText

String htmlText = "<img src=\"cid:Logo\" /><br><br>";
            htmlText += "<b> Dear %s, </b><br>";
            htmlText += "<p style='margin-bottom:1em;margin-top:1em;text-align:justify;'>Ini adalah email notifikasi untuk memberitahu Anda bahwa penukaran reward Samsung Slim Box Anda sudah kami terima. "
                    + "Kami sekarang akan menyiapkan barang Anda untuk pengiriman. "
                    + "Jangka waktu pengiriman yaitu 3 hari kerja untuk area Jabodetabek dan 7 hari kerja untuk area luar Jabodetabek. </p>";
            htmlText += "<p style='margin-bottom:1em;text-align:justify;'>Silahkan hubungi Tim Layanan Pelanggan kami jika Anda tidak dapat menerima paket di alamat pengiriman yang Anda berikan kepada kami, "
                    + "operator kami akan menghubungi Anda.</p> ";
            htmlText += "<p style='margin-bottom:1em;text-align:justify;'>Kunjungi Pusat Bantuan kami jika Anda ingin memahami lebih lanjut tentang Pengiriman. "
                    + "Ingat, Tim Layanan Pelanggan kami siap untuk membantu Anda dengan pertanyaan yang berkaitan dengan pesanan Anda, "
                    + "cukup email kami di cs@jd.id. </p>";
            htmlText += "<p style='margin-bottom:1em;'>Hormat Kami,<br>PT Jingdong Indonesia Pertama<br>www.jd.id</p>";
            htmlText += "<p style='font-family; Helvetica, Arial; color: #7f8c8d; font-size:12px; text-align:justify;'><b>Kebijakan Privasi dan Keamanan<br></b></p>";
            htmlText += "<p style='font-family; Helvetica, Arial; color: #7f8c8d; font-size:12px; text-align:justify;'>JD tidak akan pernah meminta anda untuk memberi tahu kata sandi atau informasi akun pribadi anda kepada kami melalui email "
                    + "Anda hanya akan diminta untuk memasukkan password anda ketika anda masuk ke website kami. Kami menggunakan langkah-langkah untuk memastikan keamanan anda berbelanja di website kami dan melindungi kerahasiaan informasi pribadi yang anda berikan kepada kami. "
                    + "Kami juga melakukan segala upaya untuk memastikan email-email yang kami kirimkan telah melalui proses pengecekan virus sebelum dikirimkan. "
                    + "Jika anda menerima email yang mencurigakan atau terjadi kesalahan tujuan pengiriman, mohon laporkan hal tersebut kepada Tim Layanan Pelanggan kami di contact cs@jd.id untuk penyelidikan lebih lanjut.</font></p>";
            htmlText += "<table width=\"100% \"cellpading=\"0\" cellspacing=\"0\">";
            htmlText += "<tr>";
            htmlText += "<td align=center>";
            htmlText += "<p style='font-family; Helvetica, Arial; color: #7f8c8d; font-size:12px; text-align:center;'>Ikuti kami:<a href=\"facebook.com/JDID\"><img src=\"cid:fb\"/><a href=\"twitter.com/JDID\"><img src=\"cid:twitter\"/><a href=\"instagram.com/JDID\"><img src=\"cid:instagram\"/></a>";
            htmlText += "</td></tr>";
            htmlText += "<tr><td align=center>";
            htmlText += "<p style='font-family; Helvetica, Arial; font-size:12px; text-align:center;'>Copyright © 2015-2016 jd.id Ltd. All Rights Reserved</p>";
            htmlText += "</td> </tr></table>";

实际上一切正常,直到我在此代码中添加 html 表格:

htmlText += "<table width=`100%` cellpading=`0` cellspacing=`0`>".replace('`', '"');
            htmlText += "<tr>";
            htmlText += "<td align=center>";
            htmlText += "<p style='font-family; Helvetica, Arial; color: #7f8c8d; font-size:12px; text-align:center;'>Ikuti kami:<a href=\"facebook.com/JDID\"><img src=\"cid:fb\"/><a href=\"twitter.com/JDID\"><img src=\"cid:twitter\"/><a href=\"instagram.com/JDID\"><img src=\"cid:instagram\"/></a>";
            htmlText += "</td></tr>";
            htmlText += "<tr><td align=center>";
            htmlText += "<p style='font-family; Helvetica, Arial; font-size:12px; text-align:center;'>Copyright © 2015-2016 jd.id Ltd. All Rights Reserved</p>";
            htmlText += "</td> </tr></table>";

希望你能明白我所说的。请帮忙。

最佳答案

转义表格标记中的百分比符号,如下所示:

htmlText += "<table width=`100%%` cellpading=`0` cellspacing=`0`>".replace('`', '"');

String.format 使用 % 来格式化数据。因此,要转义它,您需要使用 %%

Refer to the documentation格式化程序上。

<小时/>

希望这有帮助!

关于java - 出现错误 java.util.UnknownFormatConversionException : Conversion = '"' when making html table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44274308/

相关文章:

python - 在 Python CGI 中打印 HTML

html - SVG 位置 :absolute in IE 11

javascript - jquery 选择下一个 tbody 所有行

html - 添加具有相同属性的新记录后,从 HTML 表格中删除一行

html - <table> 的奇怪行为?

java - 在一个窗口中制作多个按钮。 JavaFX

java - 读取整数和 double 后如何读取整个字符串?

java - 运行时通用类型确定

java - Android Videoview 视频看不到

javascript - 使用 DataURL 在 Canvas 中绘制图像