Struts2与Velocity集成很简单,只要在返回类型中声明为:velocity就行了
具体步骤如下
1 将Struts2与Velocity的jar包拷贝到WEB-INF/lib下
Struts2 jar:
http://dl.iteye.com/topics/download/cf0b662c-4513-311a-b0aa-5859c52b4c74
Velocity jar:
http://dl.iteye.com/topics/download/4afc2415-e3fa-3617-aac2-76e08bea157f
2 在WEB.xml声明Struts2的过滤器:
<filter>
<filter-name>
struts2
</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>
struts2
</filter-name>
<url-pattern>
/*
</url-pattern>
</filter-mapping>
3 在Struts.xml声明如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="hello" extends="struts-default" namespace="/">
<action name="myVelocity" class="web.VelocityAction">
<result type="velocity">/templates/demo.vm</result>
</action>
</package>
</struts>
一 环境:Win7 64 + Eclipse3.7 + Tomcat6 + JDK1.6
二 各页面代码如下:
1 index.jsp
<a href="<s:url action="myVelocity"/>">Velocity</a> <br>
2 demo.vm与Velocity之WEB(Object,List,Map)
http://liuzidong.iteye.com/blog/1308261是一样的
3 VelocityAction.java
package web;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import service.UserService;
import bean.User;
import com.opensymphony.xwork2.ActionSupport;
public class VelocityAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private String userName = null;
private int userAge = 0;
private String userBlog = null;
private User user = new User();
private List list = new ArrayList();
private List<User> users = new ArrayList<User>();
private Map map = new HashMap();
private UserService userService = new UserService();
private Map<String,User> userMap = new HashMap<String,User>();
public List<User> getUsers() {
return users;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
public String getUserBlog() {
return userBlog;
}
public void setUserBlog(String userBlog) {
this.userBlog = userBlog;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public void setUsers(List<User> users) {
this.users = users;
}
public Map<String, User> getUserMap() {
return userMap;
}
public void setUserMap(Map<String, User> userMap) {
this.userMap = userMap;
}
@Override
public String execute() throws Exception {
userName = "欢迎天涯";
String userName = "咫尺天涯";
int userAge = 30;
userBlog = "http://liuzidong.iteye.com/";
double money = 3999.89;
user = new User(userAge,userName,userBlog,money,true);
list.add("天涯");
list.add(30);
list.add(money);
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
users.add(new User(userAge,userName,userBlog,money,true));
users.add(new User(18,"天涯",userBlog,646.89,true));
users.add(new User(32,"jack",userBlog,2323.45,false));
userMap.put("1",new User(23,"david",userBlog,money,true));
userMap.put("2",new User(18,"天涯",userBlog,646.89,true));
userMap.put("3",new User(32,"jack",userBlog,2323.45,false));
return SUCCESS;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
工程文件见附件
分享到:
相关推荐
在Struts2中整合Velocity还需要配置Velocity相关的依赖,确保项目中包含Velocity Engine库,并在Struts2的配置中指定Velocity工具库: ```xml <constant name="struts.action.extension" value=".do"/> ...
- **Struts2** 的配置文件包括`web.xml`、`struts.xml`、`struts.properties`、`struts-default.xml`、`velocity.properties`和`struts-default.vm`。`web.xml`和`struts.xml`是核心配置文件,其他文件则可选,例如...
Struts2和Velocity是两种广泛应用于Java Web开发的技术。Struts2是一个强大的MVC(Model-View-Controller)框架,而Velocity则是一个快速、轻量级的模板引擎,主要用于生成动态网页内容。将两者集成可以有效地提高...
2. **视图渲染**:Struts1通常使用JSP,而Struts2可以使用FreeMarker、Velocity等多种模板技术。 3. **数据绑定**:Struts1使用ActionForm,Struts2使用ValueStack和OGNL(Object-Graph Navigation Language)。 4. ...
Struts2和Velocity是Java Web开发中的两个重要框架,它们在构建动态Web应用程序时发挥着关键作用。Struts2是一个强大的MVC(Model-View-Controller)框架,而Velocity则是一个模板引擎,专注于视图层的呈现。在这个...
此外,Struts 2还支持Ajax和多种模板技术,如FreeMarker和Velocity,提升了用户体验。 API文档是开发者的重要参考资料,它详细列出了框架提供的类、接口和方法,以及它们的使用方法和注意事项。对于Struts 1,API...
Struts2是一个流行的Java web应用程序框架,它提供了一种组织和控制MVC(模型-视图-控制器)架构的方式,而Velocity则是Apache软件基金会开发的一个模板引擎,用于生成动态内容。Struts2与Velocity结合使用,可以...
Struts2+velocity 整合时所用的jar包 资源目录如下 commons-collections-3.1 commons-digester-2.0 commons-fileupload-1.2.2 commons-lang-2.5 freemarker-2.3.16 ognl-3.0.1 oro-2.0.8 struts2-core-2.2.3.1 ...
Struts2和Velocity是两种非常重要的Java Web开发框架。Struts2是一个强大的MVC(Model-View-Controller)框架,而Velocity则是一个快速、轻量级的模板引擎,主要用于生成动态网页内容。将两者整合使用,可以充分利用...
Struts2、Spring和Velocity是Java Web开发中的三个重要框架,它们各自负责应用程序的不同层面,协同工作可以构建出高效、可维护的Web应用。在这个"struts2+spring+velocity扩展实例V1版本"中,我们可以看到这三个...
【Velocity语法以及整合struts2总结】 Velocity是一个开源的Java模板引擎,它是Apache软件基金会的Jakarta项目的一部分。Velocity将HTML代码与业务逻辑分离,使得开发者可以专注于内容和设计,而不用关心数据如何...
1. **配置集成**:在Struts2的配置文件(struts.xml)中,需要声明Velocity结果类型,以便Struts2知道如何处理 Velocity模板。通过添加`<result-type>`标签并指定`class`属性为`org.apache.struts2.views.velocity....
** Velocity + Struts2 框架整合应用详解** 在Web开发领域,Velocity和Struts2都是备受开发者青睐的开源框架。Velocity是一个基于Java的模板引擎,它将控制逻辑与表现逻辑分离,使得开发者可以专注于内容的呈现,而...
Struts2 和 Velocity 的整合是Java Web开发中常见的技术组合,用于构建动态、高效的Web应用程序。Velocity 是一个基于模板语言的轻量级视图层框架,而Struts2 是一个强大的MVC(Model-View-Controller)框架。将这...
在"mongo集成spring struts2 json velocity"这个项目中,我们将看到如何将这些技术整合到一起,创建一个功能丰富的Web应用程序。 首先,MongoDB的集成意味着项目会利用其NoSQL特性和文档存储的优势。Spring Data ...
Struts2、Spring和Velocity是Java Web开发中的三个重要框架,它们共同构建了一个高效、灵活且可扩展的应用程序架构。让我们深入探讨这三个组件以及如何在项目中整合它们。 **Struts2** 是一个基于MVC(Model-View-...
Struts2和Velocity是两种广泛应用于Java Web开发的技术。Struts2是一个强大的MVC(Model-View-Controller)框架,而Velocity则是一个模板引擎,它专注于视图层的呈现,可以替代传统的JSP(JavaServer Pages)来实现...
在"Struts2+velocity jar"这个压缩包中,可能包含了Struts2和Velocity相关的库文件,如struts2-core.jar、velocity.jar等,这些jar文件是运行基于Struts2和Velocity的Java Web应用所必需的。使用这些库,开发者可以...
3. **结果类型(Result Types)**:Struts2支持多种结果类型,如JSP、FreeMarker、Velocity等,这使得视图层的实现更加多样化。通过定义结果类型,可以灵活地控制响应的生成。 4. **插件支持**:Struts2拥有丰富的...