在我的Java代码中添加POJO
rootMap.put("_Field_",field);
有一个函数“getFilteredHtml”,暂时不做任何事情,只返回字符串 作为一个参数提供(这个想法稍后会改变它 - 但出于测试目的,它保持html不变)。
/**
* get filtered html for this field
* @param html
* @return
*/
public String getFilteredHtml(String html) {
return html;
}
在Freemarker模板中的我正在使用这个函数:
${_Field_.getFilteredHtml(fieldRef?eval!"-")}
会产生以下错误消息:
Root Cause: freemarker.template.TemplateModelException: Argument type mismatch;
can not unwrap argument #1 (class: freemarker.ext.beans.NumberModel, toString: "4")
to class java.lang.String
我试图了解http://freemarker.org/docs/pgui_misc_beanwrapper.html 我想告诉我,但这对我来说都是希腊人。我怎样才能避免这种Beanwrapper行为 确定函数getFilteredHtml只是用所有关于包装和展开的mumbo jumbo调用吗?
答案 0 :(得分:0)
由于没有其他答案出现,我引用了我的评论:
看起来像将getFilteredHtml修改为public Object getFilteredHtml(Object html)就可以了。错误消息只是误导,因为当输入是一个long(或其他一些数字类型)时,它试图说一个字符串不是预期的时候会讨论freemarker.ext.beans.NumberModel