XHuiLin 2008-06-12
首先当然是简单的配置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>密 码 <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"); }