SpringMVC のビューが Velocity を使用する方法

SpringMVC のビューが Velocity を使用する方法

導入

SpringMVC では、さまざまなビュー テクノロジを使用して応答データをレンダリングできます。その中でも、Velocity はテンプレート ファイルとデータを組み合わせて最終的な HTML ページを生成できる人気のテンプレート エンジンです。この記事ではSpringMVCでのVelocityビューの使い方を紹介します。

ここに画像の説明を挿入します

準備

始める前に、いくつかの準備が必要です。

  1. SpringMVC と Velocity への依存関係を追加する

pom.xmlファイルに次の依存関係を追加します

<!-- SpringMVC -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.8</version>
</dependency>

<!-- Velocity -->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.3.0</version>
</dependency>
  1. SpringMVC を構成する

次の構成を SpringMVC 構成ファイルに追加します。

<!-- 配置视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
    <property name="cache" value="true"/>
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".vm"/>
    <property name="contentType" value="text/html;charset=UTF-8"/>
    <property name="exposeSpringMacroHelpers" value="true"/>
    <property name="exposeRequestAttributes" value="true"/>
    <property name="exposeSessionAttributes" value="true"/>
    <property name="toolAttributeNames" value="dateTool, numberTool"/>
    <property name="order" value="1"/>
</bean>

<!-- 配置 Velocity 模板引擎 -->
<bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
    <property name="resourceLoaderPath" value="/WEB-INF/views/"/>
    <property name="velocityProperties">
        <props>
            <prop key="input.encoding">UTF-8</prop>
            <prop key="output.encoding">UTF-8</prop>
            <prop key="resource.loader">class</prop>
            <prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</prop>
        </props>
    </property>
</bean>

上記の構成では、VelocityViewResolver2 つのVelocityConfigurerクラスを使用して Velocity ビュー パーサーとテンプレート エンジンを構成しました。

Velocityテンプレートファイルの作成

次の内容を含むsrc/main/webapp/WEB-INF/views名前のファイルをディレクトリに作成します。hello.vm

<!DOCTYPE html>
<html>
<head>
    <title>Hello, Velocity!</title>
</head>
<body>
    <h1>Hello, ${name}!</h1>
    <p>Today is ${date}.</p>
</body>
</html>

上記のテンプレート ファイルでは、Velocity の構文を使用して変数を挿入します。${name}と は、${date}それぞれバックエンドから渡されたnameと変数の値を表しますdate

コントローラーの作成

次の内容を含むsrc/main/java名前のコントローラーをディレクトリーに作成します。HelloController

@Controller
public class HelloController {
    
    
    
    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public ModelAndView hello(@RequestParam("name") String name) {
    
    
        ModelAndView modelAndView = new ModelAndView("hello");
        modelAndView.addObject("name", name);
        modelAndView.addObject("date", new Date());
        return modelAndView;
    }
    
}

上記のコントローラーでは、@Controller@RequestMappingアノテーションを使用して、HTTP GET リクエストを処理するメソッドを定義します。このメソッドは、という名前のリクエスト パラメータを受け取りname、それをhello現在の日付とともにビューに渡します。

アプリケーションを実行する

これで、アプリケーションを起動してアクセスしhttp://localhost:8080/hello?name=World、レンダリングされたページを確認できるようになります。

要約する

この記事では、SpringMVC で Velocity ビューを使用する方法を紹介しました。まず、SpringMVC と Velocity への依存関係を追加し、ビュー リゾルバーとテンプレート エンジンを構成しました。次に、最終的な HTML ページのレンダリングに使用される Velocity テンプレート ファイルを作成しました。最後に、データを Velocity テンプレート ファイルに渡し、最終ページをレンダリングするコントローラーを作成します。

Velocity ビューを使用すると、HTML ページの記述が容易になり、ページとデータを分離できるため、コードの保守と変更が容易になります。実際の開発では、ニーズをより適切に満たすために、必要に応じてさまざまなビュー テクノロジを選択できます。

おすすめ

転載: blog.csdn.net/JasonXu94/article/details/131632412