(一)struts入门学习
1. 先来谈谈struts学习的好处吧,从我自身来讲,struts学习给我带来了以下好处:
l 自信心大涨,目前在国内使用struts的人不多,走在技术浪尖,怎能信心不涨
l 英语水平有长进,struts相关的资料基本上都是英文的,每天看着厚厚的英文材料,浏览英文网站,感觉很好。
l 检索能力长进,以前使用google时只使用中文搜索,现在可以用英文关键字搜索啦,因此解决问题的视野拓展到了世界范围。
l 对对象、三层结构有了一个更深一步的认识。最近在用php写一个小项目,实在无法容忍代码、html语言的混编,所以也采用了struts的精神,使用了template全部改写,代码与形式分离,感觉真的不错。
l 也有缺点,就是编码时的体力劳动实在繁重,实现一个功能模块一般要写4、5个文件。
2. 入门武器
我使用的是jbuilder8.0,武器还不错,自带struts1.0。就是编译一遍耗时耗力,我的计算机经常因为之死机。但是,瑕不掩瑜,它的类提示功能,帮助功能、调试跟踪功能,特别是按“TAB”键就自动排版功能,深得吾心呀。
但是jBuilder 8安装完有一些问题。
一是光标对不准问题:解决方法就是将tools-editors options下display项编辑环境设置为“宋体”,将color项的screen element项中的粗体去掉就可以了。
二是jsp文件写完以后不能保存,解决的方法就是使用你安装的jdk安装包将jbuilder下的jdk包替换掉。还有一个解决方法就是不要使用jbuilder写jsp文件,使用EditPlus,很不错的。
3. 入门秘籍
现在回想我当初的入门资料,是总工推荐给我的一个struts小例子《struts cross reference》。包含了web.xml、struts-config.xml、actionForm、action、jsp、properties这几个构成struts三层结构的基本的源文件,每个例子里都有标识文件之间的关系,的确是入门的一个很好的资料。(网址:http://www.projectrefinery.com/StrutsCrossReference.pdf)
还有一个就是电子工业出版社的《jsp编程指南(第一版)》,上面有一章专门介绍了struts,并且有一个很好的example。example只需要去wrox的网站就可以下载下来。它较第一个资料多了与数据库的交互。
标记的学习:有网友好像将标记的说明翻译了下来,但是建议英语还过的去直接去http://jakarta.apache.org/struts/userGuide/struts-bean.html仔细研读原版的说明。可能是我不够认真,每一次阅读,都有惊喜收获!比如曾经有个朋友问我怎样将一段文本在jsp页面分行显示,如果直接用<bean:write name=”” property=””>是不行的,其实答案就在标记的属性上,只需要将filter属性设置一下就可以了。
其它书籍及文章:
《struts in Action》:挺好,特别是第10章
《programming in Jakarta struts》没仔细研读
《Mastering Jakarta Struts》还不错
《Thinking in java》
Jakarta Struts应用的七个经验
Example Application:http://husted.com/struts/resources/example-spec.html
Struts Tips:http://husted.com/struts/tips/index.html
我的收藏网站:
http://www.chinajavaworld.net/forum/leoboard.cgi
http://jakarta.apache.org/struts/
http://www.javafaq.nu/downloads.html
http://java.sun.com/
4. 入门套路:照猫画虎:
按照秘籍提供的两个例子,将两个例子照搬到Jbuilder 上,然后再对例子进行一步一步的修改,或者就在例子上做自己的尝试。
但是将例子搬至jbuilder上,还得非一番功夫。首先,在jbuilder上建立一个exampleTest工程,然后建立一个web application。然后,按照源码的内容建立相应的package和源码,源码不能直接导入,需要一个文件一个文件创建,然后将源码拷贝过来:(。
小贴示1:jbuilder上的package怎么建立,例如com.test.renshi.util,只需要在package一栏直接键入package的这串名称就可以了。
小贴示2:在struts的结构中form,action,,jsp文件及struts-config.xml的配置一个也不能少,一个环节出问题,页面也显示不出来。例如下面几个当初令我抓耳挠腮的低级错误:
a)在jsp页面中写的<html:form name=”testForm” action=”testAction.do”>,如果testAction不存在,那么会出错,而且action还不能为空。
b) struts-config.xml中如果form没有定义,那么在action中不能获得form 传递过来的值。
c) java 中是严格字母大小写的,有一次将Test.jsp写成了test.jsp怎么也出不来。所以报文件路径找不到错误时,首先检查文件是否存在,其次检查文件名称是否一致。