Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 速度与弹簧-我想有一个静态模板与动态内容_Spring_Spring Mvc_Velocity - Fatal编程技术网

Spring 速度与弹簧-我想有一个静态模板与动态内容

Spring 速度与弹簧-我想有一个静态模板与动态内容,spring,spring-mvc,velocity,Spring,Spring Mvc,Velocity,我想知道Velocity能否满足我的需求:) 比如我有 <html> <meta> <title>My title</title> </meta> <body> <div id="content"> <!-- here is my dynamic content --> </div> <div id="right"

我想知道Velocity能否满足我的需求:)

比如我有

<html>
   <meta> 
      <title>My title</title>
   </meta>
   <body>
   <div id="content">
   <!-- here is my dynamic content -->
   </div>       
   <div id="right">static content</div> 
  </body></html>

我的头衔
静态内容
现在。我在基于Spring的应用程序中有4个操作

创建、更新、登录、主页

每个动作都有自己的模板。对于创建是一个大表单,对于更新是一个小表单,对于登录,对于登录表单,对于家庭最新新闻

它们之间有许多不同之处。现在我想动态地交换我电脑中的内容 我可以用动态部分创建这样的模板容器(我指的是标题部分和右div)吗

我不想获取对变量的操作响应并将其传递给模板。我希望有一个简单的模板,例如create.jsp或create.vm或create.html,我希望我的应用程序自动获取动作的模板,并将其呈现在静态模板容器中


我希望很清楚

为什么不改用瓷砖呢?它是为这种情况而设计的

我在几个项目中使用了Tiles 2和JSP,我喜欢它。然而,对于Velocity,对于简单的模板系统,我更喜欢宏

main.vm:

#macro(main)
<html>
    <meta>
        <title>My title</title>
    </meta>
    <body>
        <div id="content">
            $bodyContent
        </div>
    </body>
</html>
#end
#@main
Hello, World!
#end
<bean id="velocityConfigurer" 
    ...
    <property name="velocimacro.library" value="main.vm" />
</bean>
弹簧配置:

#macro(main)
<html>
    <meta>
        <title>My title</title>
    </meta>
    <body>
        <div id="content">
            $bodyContent
        </div>
    </body>
</html>
#end
#@main
Hello, World!
#end
<bean id="velocityConfigurer" 
    ...
    <property name="velocimacro.library" value="main.vm" />
</bean>

(+1)这就是平铺的含义。我不喜欢tiles,因为每个动作都需要用xml描述。我的意思是,如果我有20个操作和20个不同的模板,我需要转到我的tiles.xml并编写更新扩展defaultTemplate,我需要为id=“content”添加属性。它是无效的。或者也许我错了?Tiles可以扩展其他Tile,而不仅仅是defaultTemplate,所以您可以构建一些东西。老实说,我认为使用Tiles(如果使用JSF,甚至Sitemesh,则使用Facelets)比使用Velocity更简单,但这取决于您。@TrueDub我知道我可以扩展。但我需要为每个视图手动执行。这是非常无效的。还是我错了?看看Sitemesh。它需要较少的配置,因此您可以设置它,并忘记是否有2个或20个操作。如果模板相同,则不需要为新操作添加新配置。可以给我一个问题的示例,但配置为平铺吗?您在两小时前的另一个问题中问了同样的问题,这一个: