springmvcf
Spring MVC 是一个强大的Java Web开发框架,而FreeMarker则是一个模板引擎,常用于视图层的渲染。在本文中,我们将深入探讨如何结合Spring MVC与FreeMarker构建一个基于注解的Web应用程序环境。 我们需要在项目中引入Spring MVC和FreeMarker的相关依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <dependencies> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.x.y.RELEASE</version> </dependency> <!-- FreeMarker --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.x.y</version> </dependency> </dependencies> ``` 这里的版本号需要根据当前最新的稳定版本进行替换。 接下来,配置Spring MVC。在`web.xml`中,我们需要设置DispatcherServlet并指定其配置文件: ```xml <web-app> ... <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ... </web-app> ``` 然后在`spring-servlet.xml`中配置FreeMarker视图解析器: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/views/"/> <property name="freemarkerSettings"> <props> <prop key="defaultEncoding">UTF-8</prop> <prop key="template_update_delay">0</prop> </props> </property> <property name="freemarkerVariables"> <map> <entry key="xml_escape" value-ref="fmXmlEscape" /> </map> </property> </bean> <bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="suffix" value=".ftl"/> </bean> ... </beans> ``` 这里指定了FreeMarker模板的根路径以及模板文件的后缀名`.ftl`。 现在我们来创建一个简单的Controller。使用Spring的@Controller和@RequestMapping注解,我们可以将HTTP请求映射到特定的方法: ```java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class HelloWorldController { @RequestMapping(value = "/hello", method = RequestMethod.GET) public String sayHello() { return "hello"; } } ``` 在这个例子中,当我们访问`/hello`时,Spring MVC会调用`sayHello`方法,并返回"hello"作为视图名称。由于我们之前配置了FreeMarkerViewResolver,所以它会寻找名为`hello.ftl`的FreeMarker模板文件。 在`/WEB-INF/views`目录下创建`hello.ftl`文件,编写HTML模板: ```html <!DOCTYPE html> <html> <head> <title>Hello World</title> </head> <body> <h1>Welcome to Spring MVC + FreeMarker!</h1> <p>This is a simple example.</p> </body> </html> ``` 当用户访问`/hello`时,他们将会看到这个简单的欢迎页面。 至此,我们已经成功地搭建了一个基于注解的Spring MVC + FreeMarker环境。你可以在此基础上扩展更多的Controller和模板,实现更复杂的业务逻辑和视图渲染。在实际开发中,还可以利用Spring MVC的ModelAndView、ModelMap等特性,以及FreeMarker的高级功能,如宏定义、条件判断、循环结构等,来增强应用的功能性和灵活性。
- 1
- liu11193730122013-12-17代码很好,不过少一个jar包~自己加上就行了,commons-logging.jar
- 粉丝: 2
- 资源: 36
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助