Struts2最全面总结.doc

上传人:人*** 文档编号:553749106 上传时间:2022-12-18 格式:DOC 页数:11 大小:25.51KB
返回 下载 相关 举报
Struts2最全面总结.doc_第1页
第1页 / 共11页
Struts2最全面总结.doc_第2页
第2页 / 共11页
Struts2最全面总结.doc_第3页
第3页 / 共11页
Struts2最全面总结.doc_第4页
第4页 / 共11页
Struts2最全面总结.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《Struts2最全面总结.doc》由会员分享,可在线阅读,更多相关《Struts2最全面总结.doc(11页珍藏版)》请在金锄头文库上搜索。

1、2012年5月13日22:13:12Struts2总结fdteam captain陈玉龙1、Struts2的起源和背景Struts 2以WebWork优秀的设计思想为核心,吸收了Struts 1的部分优点,建立了一个兼容WebWork和Struts 1的MVC框架。2、Struts 2的项目的编写在编写一个Struts 2的项目之前,有三个步骤需要完成:第一步要做的就是导包,导包的方式有两种,这里不详细回顾;第二步是在web.xml中配置Struts2的过滤器: struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /*

2、第三步src目录下建立 struts.xml /xxx.jsp在配置struts.xml的时候需要注意一点,如果网络不好或者没有网络,则需要导入struts-2.0.dtd,一般放在lib目录下,然后在配置的时候,填入绝对路径或者相对路径都行。struts.xml文件中,一个package可以放多个action,每个action中又可以放多个result。3、Struts2中的标签Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复

3、杂,多变的需求。Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用。在JSP页面中,如果要用到Struts2的标签,首先要声明引入标签库: , s可以随便取,便于在用标签时调用。常用的标签:1、 property标签,用于输出特定的值。如。2、 iterator标签,主要用于遍历显示集合,集合包含List、Set和数组,在项目作业中用来在表格中显示所有学生信息。3、if else语句的使用:2321

4、都不等4、URL标签修改这是一段在项目中用到的URL标签,主用作用的页面跳转和值传递。5、data标签日期标签的作用是按照format的格式去输出日期数据。6、表单标签,这个是最常用的标签,种类很多,有form、textfield、textarea、password、file、select、checkbox等,在项目中也多处用到。4、struts2的传值后台取前台的值,主要由三种方法,举例说明:以登陆界面为例,登陆表单login.jsp: 用户名: 密 码: 1、在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数。这种接收参数的

5、方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。2、把表单传递过来的参数封装成一个类,然后调用其中的属性。然后再在Action方法中,定义该类的对象就可以,前台传递的值都封装在这个对象里,在通过get方法就可以得到值。用这种方法需要在前台进行一些修改,标签的name需要改成对象.属性这样的格式。如用户名:。这种取值形式在struts开发中是很常用的一种方法,建议熟练掌握。3、 通过实现ModelDriven接口接收表单数据。首先Action类必须实现ModelDriven接口,同样把表单传来的数据

6、封装起来,Action类中必须实例化该对象,并且要重写getModel()方法。传递的值同意封装在对象中。从后台传值到前台,如果action中有set方法,只需要将值set,然后在跳转的前台通过name匹配直接拿就行。5、struts2的国际化 每种框价都会有国际化的支持,struts2的国际化大致上分为页面的国际化,Action的国际化以及xml的国际化首先在struts.xml中加入资源文件的命名格式: 名称_语言代码_国家代码. Properties如果创建中文和英语国际化,那么资源文件名称为messageResource_zh_CN.properties和messageResource

7、_en_US.properties在项目中,我们主要用的是jsp页面的国际化:通过使用标签输出国际化label.helloWorld为资源文件中定义的key在messageResource_en_US.properties加入以下内容label.hello=hello 0label.helloWorld=hello,world在messageResource_zh_CN.properties加入以下内容label.hello=你好 0label.helloWorld=你好,世界(1). 上面两个都为输出一个hello word的两种表示。显示一个文本框,文本框的标题进行国际化。(2). 使用标

8、签指定从某个特定的资源文件中取数据 指定在从messageResource取资源(3). callan使用带参数的资源.可以替换label.hello=hello 0中的0第三种没有怎么用到过,在项目中,主要是用到这种形式。6、struts2中的校验框架要实现校验,需要配置xml资源文件,资源文件的命名规则是:ActionMassage-方法-validation.xml。struts校验框架的执行原理是,执到action时,不执行里面的方法,转而会去执行校验器,执行完后返回执行action里的方法。校验器分为字段校验和非字段校验,一般采用字段校验,较直观也好理解。以下是字段校验的配置:给ac

9、tion的字段配置校验器,比如说login.java里有username和pwd字段,那么配置login-validation.xml进行两个字段的校验: /要校验的字段名(密码校验把此改为pwd即可) /不许为空 no null/错误提示 在前台可以用标签指定校验信息显示的位置,也可以采用默认的显示,前者的标签是。7、struts2中action访问servlet API在struts2框架中,Action与Servlet Api相互分离,这种底耦合性给开发带来了便利。但是很多时候,Action不访问Servlet API,将不能够实现业务逻辑处理。例如,得到Session和Application等。struts2为我们提供了两种途径来访问ServletAPI,一种是间接访问;还有一种是直接访问。其中直接访问有区分为IOC和非IOC两种方式1、间接访问 Action运行期间所用到的数据都保存在ActionContext中,例如session会话,客户端提交的参数等信息。所以Actio

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号