gpt4 book ai didi

Java项目-Velocity不替换某些字符串

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:39 26 4
gpt4 key购买 nike

我正在加载一个具有速度的 vm tgemplate 并更改一些参数我的模板中有大约 10 个可以更改的参数

对于我的模板的以下部分

window.location = "$html5Dirhtml5/index.html?page=$pageNumber"

我得到这个输出

window.location = "$html5Dirhtml5/index.html?page=1"

知道为什么速度没有转换 html5Dir 属性但它正在设置页面吗?

这些属性肯定存在于传递给velocity的属性中,我已经检查过了我的速度代码如下

public static StringWriter generateTextFromTemplate(String templateFile, Map<String, String> params) {
LOG.debug("Entered generateTextFromTemplate - templateFile:{}", templateFile);


StringWriter writer = null;
try {
VelocityEngine velocityEngine = new VelocityEngine();
velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
velocityEngine.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
velocityEngine.init();

VelocityContext velocityContext = new VelocityContext();

for (Map.Entry<String, String> entry : params.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
velocityContext.put(key, value);
LOG.error("key:{}, value:{}", key, value);
}

// get the Template
Template template = velocityEngine.getTemplate(templateFile);

// now render the template into a Writer
writer = new StringWriter();
template.merge( velocityContext, writer );

} catch (Exception e) {
LOG.error("{}", e);
writer = null;
}

return writer;
}

最佳答案

首先,检查是否有实际的 html5Dirhtml5 参数。如果这不是您想要的参数,而是 html5Dir,那么您需要在模板中使用 ${html5Dir} 形式来区分实际名称。

关于Java项目-Velocity不替换某些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25431007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com