精通struts技术第3章(1)

类别:Java 点击:0 评论:0 推荐:

第三章:开始学习Struts

 

在这一章,我们将开始学习Struts。在开始之前,我们必须先安装和配置Struts应用。我们将创建一个简单的应用来显示Struts是如何工作的。

这一章我们将提供一个Struts应用来让你快速入门。

 

获取和安装Jakarta Struts项目

在开始你的Struts开发前,我们需要获取最新版本的Struts包。目前struts包为1.1

.地址如下:http://cvs.apache.org/builds/jakarta-struts/nightly/jakarta-struts-20031010.zip

一旦你获取了版本后,你在部署Struts应用前需要完成下面的预备工作。

1.  创建一个应用目录<CATALINA_HOME>/webapps/wileystruts

2.  复制struts的JAR文件到<CATALINA_HOME>/webapps/wileystruts/WEB-INF/lib目录下,jar文件列表如下:

struts.jar ¨

commons-beanutils.jar ¨

commons-collections.jar ¨

commons-dbcp.jar ¨

commons-digester.jar ¨

commons-logging.jar ¨

commons-pool.jar ¨

commons-services.jar ¨

commons-validator.jar ¨

3.在<CATALINA_HOME>/webapps/wileystruts/WEB-INF/下创建web.xml,在文件中添加如下代码:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application

2.3//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>

</web-app>

4.创建一个strut-config.xml文件,复制到

<CATALINA_HOME>/webapps/wileystruts/WEB-INF/ 目录下。

struts-config.xml是Struts应用的部署描述文件。它用来把MVC组件组合在一起。

它通常被放置在

<CATALINA_HOME>/webapps/ webappname/WEB-INF/目录下,我们将会频繁的使用到它。空的struts-config.xml如下:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config

PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"

"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

<struts-config>

<message-resources

parameter="wiley.ApplicationResources"/>

</struts-config>

注意:如果你使用Struts 1.1 b1版本,在struts-config.xml文件中你需要添加<message-resources />元素。现在我们只是简单的创建struts-config.xml文件,对于每个元素的详细介绍我们将放在第六章“国际化你的struts应用”。在这章我们将创建struts应用中所有必须的组件。当你开始设计和开发你的Struts应用时,你必须安装和培植你的struts组件。在下一节,我们将会说明那些步骤是必须完成的。

 

创建你的第一个Struts应用

你已经完成了struts包的下载和安装,现在可以开发Struts应用了。我们的应用由查询股票号码的简单的JSP页面来完成,它将返回被查询股票的价格。我们会通过这个例子来说明在创建Struts应用中必须执行哪些步骤。因为Struts技术来源于MVC设计模式,所以在所有基于Struts的开发中,你可以遵循MVC模式这种标准来进行处理。处理方式为:从视图开始,控制器对象操纵模型组件来为视图服务。这个处理过程通过下面步骤来实现:

1.定义并创建实现某一功能的相关视图,它们是应用中的用户接口。在struts-config.xml这个struts配置文件中所有的ActionForm 就是我们要创建的视图。

2.创建控制器组件。

3.在struts-config.xm文件中定义视图,控制器之间的关系。

4.在web.xml文件中配置启动struts的一些必要信息。

5.启动应用。

上述步骤只是对Struts开发做了概要描述,在接下来的章节我们将会对这些步骤进行比较细致的描述。

创建视图

在创建struts应用的视图时,我们会先创建一个包含Struts标签的JSP文件。

当前有三个主要的struts标签,Bean, HTML和Logic。在第5章我们会集中关注在这几个标签库上,但这章我们在视图中主要关注于HTML标签库。在开始我们的应用时,我们首先要需要描述视图接口。在下面的应用中有两个视图:index.jsp和quote.jsp。

 

Index视图

Index视图有index.jsp文件来表现,是我们第一个看到的视图。它用来查询股票和提交

请求到相应的Action中。Index.jsp源文件如下:

------------------------------------------------------------

Listing 3.1: index.jsp.

<%@ page language="java" %>

<%@ taglib

uri="/WEB-INF/struts-html.tld"

prefix="html" %>

<html>

<head>

<title>Wiley Struts Application</title>

</head>

<body>

<table width="500"

border="0" cellspacing="0" cellpadding="0">

<tr>

<td>&nbsp;</td>

</tr>

<tr bgcolor="#36566E">

<td height="68" width="48%">

<div align="left">

<img src="images/hp_logo_wiley.gif"

width="220"

height="74">

</div>

</td>

</tr>

<tr>

<td>&nbsp;</td>

</tr>

</table>

<html:form action="Lookup"

name="lookupForm"

type="wiley.LookupForm" >

<table width="45%" border="0">

<tr>

<td>Symbol:</td>

<td><html:text property="symbol" /></td>

</tr>

<tr>

<td colspan="2" align="center"><html:submit /></td>

</tr>

</table>

</html:form>

</body>

</html>

 

如你看到的index视图,除了form标签外,它就象一个包含数据集合的HTML页面。在HTML页面中我们把FORM标签改为用Struts标签<html:form />来替换。

这个标签和它的子标签封装了struts form的处理。Form标签的属性列表如下:

 

 

 

 

 

 

 

 

属性

描述

action

Form被提交到的URL地址。这个属性用来在struts-config.xml配置文件中查找对应的action。

这个属性在我们的例子中是“Lookup”。

file, which we will describe later in this section. The

value used in our example is Lookup, which will map

to an ActionMapping with a path attribute equal to

 

name

ActionForm的识别键。在这个例子中的值为LookupForm。

ActionForm是Struts中用来封装客户端数据的JavaBean对象。它的主要目的是审查视图到控制器组件的数据。我们会在本章的后面讨论LookupForm。

Type

 

请求的类名的全称,这个例子中的值为wiley.LookupForm。它封装了客户端输入的数据。

 

<html:form />标签是另外两个标签的父类。第一个是<html:text /> tag.。这个标签和HTML中的<input type=”text”..>意义是一样的。只有一点不同的地方那就是property属性。它的值是唯一的,和ActionForm类中对应的成员变量是对应的。

第二个标签是<html:submit />,它只是简单仿效HTML的submit按钮的功能。

ActionForm 类通过使用<html:form />标签来创建一个实例,并把<html:text />标签的值存储到实例中。实例最后被存储到一个session对象当中。

一旦ActionForm实例被存储了相应的数值之后,action通过<html:form />来调用和审核存储在ActionForm上的数据。

1.为了使用前面提到的标签,你必须在  wiley这个s应用的Web.xml文件中添加对应的标签引用。下面的代码段就是添加在web.xml中的标签元素:

<taglib>

<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>

<taglib-location>/WEB-INF/struts-html.tld</taglib-location>

</taglib>

2.你必须复制struts-html.tld文件到<CATALINA_HOME>/webapps/wileystruts/ WEB_INF/目录下。

注意:上面的这两个步骤在部署所有struts应用中都会用到,唯一的不同就是部署时TLD文件的不同(表示不同的标签库)。另外的标签库我们会在第五章进行讨论。

作者:James Goodwill   翻译:周海方

欢迎转载,前提是注明出处和译者

本文地址:http://com.8s8s.com/it/it17150.htm