在Java Web项目中有很多.vm文件,打开以后是类似于.NET MVC项目中的.cshtml文件的形式
<div class="navIntraToolLink viewNav"> #if($linkList) <span> #set ($itemsOnLine = 0) #foreach($link in $linkList) #set($action = $listActions.get("$key")) #if($itemsOnLine > 0)|#end <input id="$link.getId()-link" type="button" #if ($link.getToggleable()) name="linkList" #end onclick="$link.getLink()" #if($link.getDisabled()) disabled="disabled" #end alt="$link.getLabel()" value="$link.getLabel()" /> #set ($itemsOnLine = $itemsOnLine + 1) #end </span> #end </div>
但是在同一个项目中的.java文件中却找不到诸如linkList,action等等变量,也找不到getLink(), getDisabled()等方法名。所以我想问问.vm文件里是如何使用变量的?同一个项目的.java文件是怎么和.vm文件共同作用构成网站页面的?在java web项目中,是不是.java代码和.vm前端共同构成MVC架构?
有会java web的请不吝赐教,谢谢!
不是 vm 文件为 velocity 的模版文件。你看到的变量是从 controller 中传递来的。