4

从我的控制器我设置我的模型和视图,如:

ModelAndView mav = new ModelAndView();

mav.setView("index");

mav.addObject("user", user);
mav.addObject("someCollection", someCollection);

return mav;

现在我想创建一个辅助类型对象,它将 someCollection 和用户对象作为参数。

我的辅助函数会输出一些 HTML 等,这可能吗?

4

3 回答 3

5

您可以使用FTLJava编写宏和指令,将它们公开给您的模板并以与通常使用内置宏/指令相同的方式调用它们。

于 2010-06-28T18:07:53.083 回答
2

没有什么能阻止您将任何 Java 对象(例如帮助程序实例)放入模型,然后使用如下语法调用它的方法:${helper.myMethod(arg)}.

于 2011-06-19T09:22:44.380 回答
0
/**
 * Add logotype logotype1AsBase64.
 * @return
 * @throws IOException 
@ModelAttribute("logotype1AsBase64")
public String getLogotype() 
        throws IOException {
    return logotypeService.getLogotype();
}
*/

@ModelAttribute
public void addAttributes(Model model) throws IOException {
    //...
    model.addAttribute("logotype1AsBase64", logotypeCacheServ.getImage("logotypeInEnglish1From20190101.png"));
    //...
}

然后使用它:

<img src="<#if locale == 'specificLocale'>${logotype1AsBase64}></#if>" alt="description for picture">

如果设置是这样的话,model 属性可以包含除 base64 之外的更多 html 用于标识。

于 2019-07-13T13:21:26.533 回答