Struts实例Word格式文档下载.docx
《Struts实例Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Struts实例Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。
在strutsShop里建一个BookView.jsp的文件。
内容如下,按图2所示在浏览器中运行:
第二个实验:
struts的国际化
我们将使用户能用本国的语言浏览预定义的文本,进而接触一些struts的功能。
首先你要按照图3拷贝一些文件到WEB-INF目录下。
在struts-html.tld文件里有我们要用的标签。
这些我们在上接已经介绍了,你可以简短的回顾一下。
struts-config.xml的配置清单如下,这是一个标准的清单,你以后的程序都可以以此为基础进行扩展:
web.xml的配置清单如下,这是一个标准的清单,你以后的程序都可以以此为基础进行扩展:
在classes目录下创建一个ApplicationResources.properties的文件(此文件名在web.xml中定义),打开它,输入一行:
index.title=StrutsTutorial。
然后在创建一个ApplicationResources_de.properties文件,也输入一行:
index.title=StrutsEinfü
hrung。
其实这两个文件就是当加载时会根据当前的浏览器而选择英文或德文,这里我们只能了解国际化过程来测试前者了。
我们还需编写BookView.jsp文件,如下:
可在浏览器中浏览,你可能需要重启你的tomcat:
其实我们可以将国际化写在一个文件中,就是将参数写在一个属性文件中。
(这是作者的意图,但我没有各种版本的IE进行实验)
struts中的Forms
在这一章我们将创建一个简单的Bean(Book.java)和两个JSP页面,一个是创建新书的,另一个是显示它的,我们也会第一次使用struts-config.xml文件。
我们先在你的classes目录下创建如下Book.java文件。
我们还需要创建新书的JSP页。
我们将使用title,auther和numberofpages三个字段,在此之前我们先要做一些工作,对于一个初学者这将有些难度。
在你的BookView中加上以下内容:
再次运行,你将得到图5所示内容,如果没有错,那你需要重启tomcat;
如果错误不一样,没关系,因为他都是没有在配置文件中找到mapping路径。
接下来我们需要第二个JSP页面CreateBook.jsp,代码如下:
在classes目录下创建一个BookAction文件:
它没按照struts要求编写仅仅创建一本书并给它标题。
然后编写你的struts-config.xml:
我们希望在struts中在bookForm和Book间建立连接。
而且我们还用bookCreated定义了一个到BookView.jsp的转发。
最后我们用action=createBook.do属性定义了我们的form做什么。
关于do:
与接受CreateBook.jsp输入信息的bookForm相关的bean,由createBook命令创建。
按图6编译你的类。
由于我是初手,在这里遇见很多问题,所以耽误了很久,不过它让你学到很多东东。
比如:
javax.servlet要用到servlet.jar包;
javac后跟a.java,而java后跟a;
还有我遇见了很原文提到的问题,很多都是由于自己编写(没有copy)而造成的马虎。
希望大家也能引起注意,到此除了ActionForm我们都已用到了。
编译成功后,在你的classes目录下会增加两个文件:
Book.class和BookAction.class.
重启你的tomcat(每次改动config文件你都需要重启,改动注册表需要重启机器)。
现在在你的浏览器里登陆CreateBook.jsp,如图7:
当你填写后提交,另你失望的是什么也没有得到。
这是由于我们并没有ActionFormbean.
struts:
介绍ActionForm
这节我们继续做ActionFormbean来完成我们的例子。
我们将用ActionForm得到合法的book的信息,并进行一些检验,例如没有输入标题等,向用户提供错误或成功的信息。
我们还将得到book的属性并且能够更改它。
为此我们需要一个ActionForm:
它仅是一个简单的容器,没有应用程序逻辑,只有两个方法:
reset(),validate().在struts1.1里,validate()方法被单独作为一个validate.xml文件。
详见参考资料二。
现在我们做另一个类:
BookForm.java。
它将包含book的实例,并且有一些getXXX和setXXX的方法来访问它。
关于内部的方法可看struts架构介绍。
我们还要做一些额外的工作。
去看struts-config.xml文件,我们需要用这个新类与Form关联,从而替代Book.java。
因此我们必须改变form-beans:
<
form-beanname="
bookForm"
type="
BookForm"
/>
.
另外我们还有定义一下当错误发生时的信息,在你的配置文件中输入:
error.book.title=Error
现在编译你的类,重新启动tomcat,重新登陆CreateBook.jsp.,输入onebook,你将在tomcat的dos窗口看见如下图所示:
你也可以在重输入其他的title,看看tomcat的dos窗口有什么变化。
分离Book和BookForm的一个好方法
上一节我们使用一个新类BookForm.java去访问Book.java,而不用struts直接连接到Book.java。
接下来,我们要解决在这两个类中重复输入getXXX和setXXX。
Struts允许我们直接访问实例的方法。
这很容易,但需要理解。
我们给出改变的CreateBook.jsp的代码:
正如你看到的,除了将title改为book.title,我们什么也没做。
现在你可以去掉BookForm.java中的getXXX和setXXX方法了,如下图:
(别忘记了也更改BookView.jsp,否则在你的tomcat窗口下Aftercreationofbook:
null)
你还应该改动BookAction.java,把Stringtitle=req.getParameter("
title"
);
中的title改为book.title,然后重新编译,这样你的tomcat下的Aftercreationofbook:
none中的none就会出现你输入的名了。