首页 > 解决方案 > 如何使用列表从 html 填充字符串?

问题描述

我有带有表格的邮件模板。有两列。一个是名称,第二个是其他内容。我想用我列表中的名称替换每行“{names_list}”上发布的字符串。当我这样做时:

private String changeTextInHtml(String str){
    String s = "";
    for(int i=0;i<listOfNames().size();i++){
        s = StringUtils.replace(str, "{names_list}", listOfNames().get(i));
    }

        return s;
}

我正在填充表格,但列表中只有姓氏。每一行都是那个姓氏。如何按名称填充名称?方法 listOfNames() 返回该列表。

标签: java

解决方案


  • 首先,replace 方法(如果来自 apache.commons.lang)替换字符串中所有出现的模式。
  • 输入字符串不会改变

您必须按以下方式更改方法(我想您的 HTML 中有模式列表):

private String changeTextInHtml(String str) {
    String s = str;
    for (int i = 0; i < listOfNames().size(); i++) {
        s = StringUtils.replaceFirst(s, "{names_list}", listOfNames().get(i));
    }
    return s;
}

使用诸如FreeMarker之类的模板语言会更好吗


推荐阅读