Spring 未在velocity文件中处理HTML标记

Spring 未在velocity文件中处理HTML标记,spring,tomcat,velocity,Spring,Tomcat,Velocity,我有一个使用velocity的spring应用程序。有一个quartz调度程序,每隔几分钟运行一次并发送电子邮件。电子邮件内容由velocity模板生成。问题在于,如果该应用程序是使用maven的tomcat插件运行的,那么电子邮件模板文件中的HTML标记就会得到正确处理。但是,如果我将该应用程序放在一个独立的tomcat安装中并从那里运行它,则标记会在电子邮件中显示为 <p> <br /> velocity模板的内容是: #if( ${user.middleName

我有一个使用velocity的spring应用程序。有一个quartz调度程序,每隔几分钟运行一次并发送电子邮件。电子邮件内容由velocity模板生成。问题在于,如果该应用程序是使用maven的tomcat插件运行的,那么电子邮件模板文件中的HTML标记就会得到正确处理。但是,如果我将该应用程序放在一个独立的tomcat安装中并从那里运行它,则标记会在电子邮件中显示为

<p> <br /> 
velocity模板的内容是:

#if( ${user.middleName} )
#set( $fullName = "${user.firstName} ${user.middleName} ${user.lastName}" )
#else
#set( $fullName = "${user.firstName} ${user.lastName}" )
#end
#set( $subject = "User name for ${fullName} is changed" ) 
#set( $from = "test@test.com" )
#set( $to = "${user.email}" )

<p>Hi ${fullName}</p>

<p>Thanks!<br></p>
#if(${user.middleName})
#set($fullName=“${user.firstName}${user.middleName}${user.lastName}”)
#否则
#set($fullName=“${user.firstName}${user.lastName}”)
#结束
#set($subject=“更改${fullName}的用户名”)
#设置($from=)test@test.com" )
#设置($to=“${user.email}”)
你好${fullName}

谢谢


任何帮助都是感激的,因为我束手无策

听起来好像这些角色被转义了。。。最好查看html源代码,但您可能会看到,而不是。如果将html传递到velocity上下文中的velocity模板中,通常会发生这种情况(取决于配置)。但是,这不应该是您的情况,因为您的html代码已经在模板中,但它正在转义到某个地方

我认为转义是在velocity处理模板之后发生的。您应该查看您的tomcat配置,以及在处理模板后您对电子邮件的处理


很抱歉,我帮不了你什么忙,但是你的问题没有太多内容

电子邮件是以text/plain而不是text/html的形式发送的。检查mime类型,看看它是否正确

没有“处理”HTML标记,它们只是简单地发出,更可能是mimetype/etc问题。但是像${fullName}这样的变量也没有被处理呢。但是我忘了提到一件事,这个文件是一个依赖项。如果不知道如何/在哪里设置上下文,就不可能确定。这可能是一个库冲突,但很难说。我猜在你的Spring连线中有点不对劲。此外,请检查日志,查看是否存在任何警告\异常。除此之外,你还得表现得更多,对不起。
#if( ${user.middleName} )
#set( $fullName = "${user.firstName} ${user.middleName} ${user.lastName}" )
#else
#set( $fullName = "${user.firstName} ${user.lastName}" )
#end
#set( $subject = "User name for ${fullName} is changed" ) 
#set( $from = "test@test.com" )
#set( $to = "${user.email}" )

<p>Hi ${fullName}</p>

<p>Thanks!<br></p>