像Thymeleaf

时间:2016-11-24 20:34:15

标签: thymeleaf velocity

我想知道当我在Spring中有一个带有属性的对象时,我是否可以像Thymeleaf一样使用Velocity Template,比方说,(product.courseName)我希望以这种方式将它发送到HTML页面

  

h1 th:text =" $ {product.courseName}" HTML示例课程名称/ h1

所以我可以直接展示......

Thymeleaf让我将HTML开发与Spring Coding隔离开来,但我在Velocity中找不到这么简单的方法。我可以使用" HTML示例课程名称"来显示HTML。在Velocity执行时,在浏览器中以及每个对象的真实课程名称(就像在Thymeleaf中一样)?

PD:我很感激任何文档参考。

SPRING CONTROLLER

@RequestMapping("/product/{id}")
    public String getProductById(@PathVariable Integer id, Model model){
        model.addAttribute("product", productService.getProduct(id));
        return "product";
    }

PRODUCT.HTML

<div class="row">
    <div class="col-md-12">
        <h1 th:text="${product.courseName}">Course Name</h1>                    
    </div>
</div>

由于

1 个答案:

答案 0 :(得分:0)

是的,但不完全是你在做。如果您查看参考文档的properties部分,它将解释如何执行此操作:

  

属性

     

VTL引用的第二种风格是属性和属性   有一个独特的格式。简写符号由a组成   领先的$字符跟随VTL标识符,后跟一个点   字符(“。”)和另一个VTL标识符。这些是例子   VTL中的有效属性引用:

$customer.Address
$purchase.Total

并且还解释说,如果你使用它,它会像thymeleaf一样调用属性的getter。

  

$customer.Address。它有两个含义。它可以意味着,看看   哈希表标识为客户并返回与之关联的值   关键地址。但$ customer.Address也可以指一个   方法(参考方法的参考文献将在下文中讨论   部分);

     

$customer.Address可能是一种缩写的写作方式   $ customer.getAddress()

     

........

编辑

所以在简历中,不要使用像th:text这样的百万美元标签。

<h1>$product.courseName</h1>