如何将动态HashMap值传递给Velocity模板

问题描述

如何将动态HashMap值传递给VeLocity模板。

String.valueOf(i)是一个动态键,我想使用力度模板打印值

下面是Java代码和。我写的vm文件

Email.java

        //Email sending
          EmailVO emailVO = new EmailVO();
          emailVO.setTo(env.getProperty(emailConstant.EMAIL_TO));
          emailVO.setFrom(env.getProperty(emailConstant.EMAIL_FROM));
          emailVO.setHost(env.getProperty(emailConstant.SMTP_HOST_NAME));
          emailVO.setSubject(messageformat.format(env.getProperty(emailConstant.EMAIL_SUBJECT),":Test Email "));
          emailVO.setPort(env.getProperty(emailConstant.SMTP_HOST_PORT)); 
              
          Map<String,Object> emailContent = new HashMap<>();
          
          List<DataVO> email = (List<DataVO>) items;  
          for (int i=0;i<email.size(); i++) {
              
               
            emailContent.put(String.valueOf(i),"ID: "+email.get(i).getCfId() + " FirstName:  "
                    + email.get(i).getFirstName() + "LastName:  " + email.get(i).getLastName());

          }
         emailVO.setEmailContent(EmailUtil.getEmailTemplate(emailContent,env.getProperty(emailConstant.EMAIL_TEMPLATE)));
         emailVO.setAttatchmentrequired(false); emailVO.setErrorFile(null);
         emailService.sendEmail(emailVO);
         logger.error("Email has been sent.");
    }

email.vm

<html>
<head>
  #include("emailtemplate/style.vm")
</head>
<body>
    <table id="Rnopage" class="RnoLayout-1col">
        <tr>
            <td id="RnopageWidthRange">
                <div class="emailBody">
                    <div class="emailPurpose">
                        <div class="alertInfo">                 
                            #foreach($mapKey in $String.valueOf(i).keySet())
                            $!{String.valueOf(i).get($mapKey)}
                            #end
                        </div>
                    </div>
                </div>
            </td>
        </tr>
    </table>    
</body>
</html>

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...