原来没用过java模板,现在看到了,保留下代码,感觉很好。具体代码如下:
private
String getMsgNote(Integer actId,Integer sign) {
String result =
""
;
String dir =
"SMSTemplate/"
;
String vmPath =
null
;
try
{
StringproMapingPath =
"/SMSTemplate/sms_mapping.properties"
;
Properties properties =
new
Properties();
InputStream in = getClass().getResourceAsStream(proMapingPath);
properties.load(in);
String fileName = (String) properties.get(String.valueOf(actId));
vmPath = dir + fileName;
VelocityEngine ve =
new
VelocityEngine();
ve.setProperty(RuntimeConstants.
RESOURCE_LOADER
,
"classpath"
);
ve.setProperty(Velocity.
INPUT_ENCODING
,
"UTF-8"
);
ve.setProperty(Velocity.
OUTPUT_ENCODING
,
"UTF-8"
);
ve.setProperty(
"classpath.resource.loader.class"
,
ClasspathResourceLoader.
class
.getName());
ve.init();
VelocityContext context =
new
VelocityContext();
context.put(
"sign"
, sign);
Template t = ve.getTemplate(vmPath);
StringWriter writer =
new
StringWriter();
t.merge(context, writer);
result = writer.toString();
in.close();
}
catch
(Exception e) {
logger
.error(e.getMessage());
}
logger
.info(result);
return
result;