`
scnujie
  • 浏览: 126448 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts与Velocity的简单集成

阅读更多
首先当然是简单的配置web.xml与struts-config.xml文件,加入必要的servlet等东西:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  
  <servlet>
    <servlet-name>velocity</servlet-name>
    <servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
  </servlet>  
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>velocity</servlet-name>
    <url-pattern>*.vm</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
  
  <welcome-file-list>
    <welcome-file>vms/login.vm</welcome-file>
  </welcome-file-list>
</web-app>

Struts-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="loginForm" type="com.jie.struts.form.LoginForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards >
    <forward name="success" path="/vms/success.vm" />
    <forward name="fail" path="/vms/fail.vm" />
    <forward name="first" path="/vms/login.vm" />

  </global-forwards>

  <action-mappings >
    <action
      attribute="loginForm"
      input="/login.vm"
      name="loginForm"
      path="/login"
      scope="request"
      type="com.jie.struts.action.LoginAction" />

  </action-mappings>

  <message-resources parameter="com.jie.struts.ApplicationResources" />
</struts-config>

然后是一个用于测试的登录页面:login.vm

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>登录页面</title>
<style type="text/css">
<!--
.STYLE1 {color: #00FF33}
-->
<!--
.STYLE2 {color: red}
-->
</style>
</head>

<body>
<form id="form1" name="form1" method="post" action="login.do">
  <label>用户名
  <input type="text" name="userName" /> 
  </label>
  <p>
    <label>密 &nbsp;码
    <input type="password" name="password" />
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="提交" />
    </label>
  </p>
</form>
#if($isSuccess)<p class="STYLE1">验证通过...</p>#else  #end
#if($isNull)<p class="STYLE2">字段不能为空...</p>#else  #end
</body>
</html>


还有一个后台处理的LoginAction.java:

public ActionForward execute(ActionMapping mapping, ActionForm form,
                        HttpServletRequest request, HttpServletResponse response) {
                LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
                String userName = loginForm.getUserName();
                String password = loginForm.getPassword();
                
                if(userName.equals("jie") && password.equals("123"))
                {                                        
                        isSuccess = true;
                        request.setAttribute("isSuccess", isSuccess);//集成的关键点在这里...,把对象加入到vm模板                            return mapping.findForward("first");         里面,然后可以在模板里面用 $isSuccess 来使用.
                        
                }else if(userName=="" || password=="")
                {
                        boolean isNull = true;
                        request.setAttribute("isNull", isNull);
                        return mapping.findForward("first");
                }
                return mapping.findForward("fail");
                
        }
1
0
分享到:
评论

相关推荐

    struts2与velocity集成 实例

    一个很简单容易上手的struts2与velocity集成 实例;很方便初学者进入struts2与velocity集成 学习

    Struts 与 Velocity 的集成(http://www-128.ibm.com/deve)

    文章对应代码 博文链接:https://aideqianfang.iteye.com/blog/243021

    Velocity+Struts 配置

    他也可用于一个独立的程序以产生源代码和报告,或者作为其它系统的一个集成组件。这个项目完成后,Velocity将为Turbine web 应用程序框架提供模板服务。Velocity+Turbine 方案提供的模板服务将允许web 应用按真正的...

    Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化

    Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化,以后直接调用即可,无需修改任何源代码,改压缩文件包括 1、工具类; 2、源码(含jar包); 3、mysql数据库可执行文件; 4、struts2集成...

    mongo集成spring struts2 json velocity

    这段时间学习mongo数据库,花点时间搭了个框架,资源是myeclipse10整个工程包,有问题随便问。

    struts2.2+velocity+tiles+spring3+mybatis3.05整合

    struts2.2+velocity+tiles+spring3+mybatis3.05集成框架实例 ,最新的框架组合.。

    struts2+spring2+hibernate3+velocity+sitemesh集成框架代码

    集成了struts2,spring2,hibernate3,以及velocity和sittemesh的项目源代码,有兴趣的可以下载下,关键是集成velocity有点难度,呵呵.

    Velocity 资料汇总

    花了所有CSDN积分收集来的Velocity资料集合: Velocity Java开发指南中文版 Velocity Web应用开发指南中文版 Velocity模板使用指南中文版 ...Struts与Velocity的简单集成 使用Velocity开发web程序

    深入浅出struts2

    │深入浅出STRUTS 2 Struts Ti却发现了二者在技术与开发人员这两个层面上的共同之处,不久之后,两个项目就在WebWork的技术基础上进行了合并2。 当我们说起WebWork的时候,我们实际上说的是两个项目——XWork和...

    velocity相关的eclipse插件、jar包和文档

    velocity相关的eclipse插件、jar包和文档。 eclipse插件:com.googlecode.veloeclipse.ui_2.0.8...jar包:velocity-1.7、velocity-tools-2.0(含有源码) 文档:velocity语法、使用以及和struts2、spring、ibatis的整合

    Struts2 in action中文版

    8.3.1 VelocityResult,也叫做velocity 189 8.3.2 FreemarkerResult,也叫做freemarker 191 8.4 全局结果 192 8.5 小结 193 第四部分 完善应用程序 第9章 集成Spring和Hibernate/JPA 196 9.1 为什么在Struts 2中...

    struts2.0.jar

    Struts 2标签现在可与FreeMarker、Velocity及类似模板引擎配合使用。 · 引入拦截器: Struts 2为拦截器(interceptor)提供了全面支持。拦截器可在Action类执行前后加以执行。拦截器经配置后,可以把工作流程或者...

    struts2经典教程

    JSTL(JSP Standard Tag Library),JSP 2.0集成的标准的表达式语言; Groovy,基于Java平台的动态语言,它具有时下比较流行的动态语言(如Python、Ruby和Smarttalk等)的一些起特性; Velocity,严格来说不是...

    Struts in Action 中文版

    你也可以将Struts 组件集成到你的框架中,就 像他们是你自己编写的一样。详细情况, 参见Apache Software License , www.apache.org/LICENSE。 1.1.2. 为什么Struts 要开源? 现在有许多非常优秀Java 程序和框架都是...

    struts2.0 jar包struts2.0jar包 struts2.0jar包源文件,下载文件包中是Struts2.0.11

    JSTL(JSP Standard Tag Library),JSP 2.0集成的标准的表达式语言; OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言; Velocity,严格来说不是表达式语言,它是一种基于...

    Demo4SSIV:教学用的集成Struts、Spring、iBatis、Velocity的示例代码。通过6天的时间,让具有Java基础的同学掌握这些技术。同时在这6天内,能以5人一组的方式,完成一个Cart项目的开发

    Demo4SSIV 教学用的集成Struts、Spring、iBatis、Velocity的示例代码。通过6天的时间,让具有Java基础的同学掌握这些技术。同时在这6天内,能以5人一组的方式,完成一个Cart项目的开发。

    SSH相关整合的总要资料

    iBatis,JPA)、视图(JSP,JSTL,Title,Velocity,FreeMarker,XSLT,PDF/Excel文档视图、JasperReports报表视图)、Web框架(JSF、Struts、Tapestry、WebWork)其他技术(WebServices、EJB、JMS、JMX、JCA等)的集成。...

    Java Web程序设计教程

    5.2.2struts2的简单应用 85 5.3struts2基础 87 5.3.1action详解 88 5.3.2结果与视图 91 5.3.3struts.xml的配置 94 5.4值栈与ognl表达式 100 5.5struts2的标签库 103 5.5.1控制标签 103 5.5.2数据标签 104 ...

    Appfuse教程Appfuse开发.pdf

    尽管这些技术在国外都已进很流行了,但在国内能够将Hibernate、 Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、Velocity、JUnit、JSTL、WebWork这些技术集成到一个框架中的还不多见,所以...

Global site tag (gtag.js) - Google Analytics