eclipse中整合springMvc和velocity
2024-10-20 08:03:52
1.项目所需要的jar包(有些可能多余)
2.在src目录下创建一个bean 一个一个controller ,路径如下
person代码:
package com.test.bean; import java.util.Date; public class Person { private int id; private String name; private String password; private int age; private Date birthday; public Date getBirthday() {
return birthday;
} public void setBirthday(Date birthday) {
this.birthday = birthday;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
}
IndexController代码:
package com.test.controller; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import com.test.bean.Person; public class IndexController implements Controller { @Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView(); Person p1 = new Person();
p1.setId(1);
p1.setName("胡楠");
p1.setPassword("123456");
p1.setAge(24);
p1.setBirthday(new Date()); List<Person> list = new ArrayList<Person>();
for(int i=0;i<10;i++){
Person p = new Person();
p.setId(1000+i);
p.setName("胡楠"+i);
p.setPassword("123456"+i);
p.setAge(24+i);
p.setBirthday(new Date());
list.add(p);
}
//集合
mav.addObject("persons", list);
//对象
mav.addObject("person",p1);
//request范围数据
request.setAttribute("requestData", "hunan");
//session范围数据
request.getSession().setAttribute("sessionData", "123456");
return mav;
} }
3.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
4.配置servlet name 为 mvc 对应的 mvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
</bean>
<!-- VelocityConfigurer 视图的配置 -->
<bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer" p:resourceLoaderPath="/view"><!-- 加载视图的路径 -->
<property name="velocityProperties">
<props>
<prop key="directive.foreach.counter.name">loopCounter</prop>
<prop key="directive.foreach.counter.initial.value">0</prop>
<prop key="input.encoding">UTF-8</prop>
<prop key="output.encoding">UTF-8</prop>
</props>
</property>
</bean>
<!-- VelocityViewResolver 视图的解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"
p:suffix=".vm" p:contentType="text/html; charset=UTF-8" p:exposeRequestAttributes="true" p:exposeSessionAttributes="true" p:dateToolAttribute="dateTool" p:numberToolAttribute="numberTool"/>
<bean name="/index.vm" class="com.test.controller.IndexController"/>
</beans>
5.在WebContent下创建view文件夹,在里面创建.vm文件 index.vm
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
显示对象的属性
<br> $person.id
<br> $person.name
<br> $person.password
<br> $person.age
<br> if语句
<br> #if($person.id <) id大于2 #else id小于2 #end
#if($person.password=="123456") 密码等于123456 #end
<hr>
foreach语句
<br> #foreach($p in $persons) $p.id
<br> $p.name
<br> $!p.email
<br> $dateTool.format("yyyy-MM-dd HH:mm:ss", $p.birthday)
<br> #end
<hr>
request范围数据
<br> $requestData
<br> session范围数据
<br> $sessionData
<br>
</body>
</html>
index.vm里面有一些velocity标签的部分用法
项目完毕,部署到tomcat运行 http://localhost:8082/TestSpringVelocity/index.vm
部分代码来自于http://hunan.iteye.com/blog/838657
最新文章
- redis 异常解决办法
- Understanding apps: mobile, native or responsive
- 用UltralSO安装CentOS 和 Ubuntu
- 将double类型的值保留几位小数
- Zedboard(二)使用Vivado+SDK开发嵌入式应用程序——实例一
- 如何使用Vue
- Python学习笔记 - 迭代Iteration
- canvas基础(一)
- Money King【题解】
- 如何实现win7系统多用户同时远程登录
- 【转录组入门】6:reads计数
- 在IDEA中配置Spring的XML装配
- http://nancyfx.org + ASPNETCORE
- JackSon学习笔记(一)
- 680. Valid Palindrome II
- vue子组件传参给父组件
- cmd命令操作Oracle数据库
- e827. 设置JSplitPane中分隔物的大小
- 机器学习实战第二章----KNN
- c++ 先序构建二叉树