- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
struts2自学笔记
Struts2自学笔记
类型的转换
1,struts的标签放在struts的jar包下。MATE-INF -(struts-tags.tld下的。定义了所有标签的机制。
2,导入标签@ taglib prefix=”s(可自行定义)” uri=”/strusts-tags”
当没有报错时,就说明正确了。
3,s:form action=”login”/s:form
这里当使用此标签是它地址默认为action,就不用去写action了,直接写名字就是了,不想form表单中的action要写成login.action。
文本框我们是用s:textfiled username=”” label =”” /s:textfiled来表示的。
Username 是文本框的名字,客户端处理的参数值。 Label是文本框的名字。
相当于我们比较熟悉的username : input type=”text” name=“username”
密码呢,用s:password /s:password
提交 用s:submit label=”Submit”/s:submit
4,和基本的jsp页面相比,struts2标签是自动换行的。
5,action类继承ActionSupport类,实现了很多接口,验证,等很多功能都可以用了。
有validate方法(验证)等
6, 在struts2中我们可以自动验证错误,不像在struts1中我们还要在jsp页面手动的添加一个error标签才能完成。
《------------------局部类型转换-----------------》。
ognl是一种强大的表达式语言。
我们继承ognl.DefaultTypeConverter,再重写convertValue(Map context,Object values,Class toType)方法就能实现类型的转换了。
分别代表:Map (应用的上下文) Object(类型转换的值) Class(类型的转换,看你转换成什么类型 有两种,1。从字符串到我们自定义类型的转换 2。从自定义类型到String的转换。它觉定你的转换为什么)
Struts2为我们默认提供的转换标志。(com.opensymphony.xwork2 中的action接口) ActionSupport是实现了Action接口了的。所以要用直接继承ActionSupport就可以了。
SUCCESS(表示Action的操作是成功的),INPUT(验证没有成功),NONE(表示Action的操作是成功,但是不显示任何视图),LOGIN(Action没有执行成功,用户不能登录。)ERROR(表示错误)
4, property标签用于输出值栈中的对象的属性值,使用value属性来指定要输出的对象属性,如果没有指定value属性,那么默认输出栈顶对象。属性如下:
default: 可选,如果需要输出的属性值为null,则显示的default属性指定的值
escape: 可选,指定是否escapeHTML代码
value: 可选,指定需要输出的属性值。如果没指定,默认输出ValueStack栈顶的值
id: 可选,指定该元素的标识
(在到point的set方法时,它通过我们配置的PointAction-conversion.properties自己找到我们为他执行转换的类的方法。这时就要选择PointConventer中的两个if语句看是执行那个语句。一个是从服务器到客户端if(String.class=toType),一个是从客户端到服务器if(Point.class=toType)。
《---------------------全局的类型转换-------------------》
1, 需要类型转换配置文件(名字是xwork-conversion.properties)
2,里面的内容是 : 等号左边是你要转换的对像所对应的类的全称。右边是表示我要用这个类去转换我的前面的这个类。
《--------------Struts2的校验------------》
主要学习了用户的注册功能对用户的年龄,密码,用户名,出生日期,注册日期。并且要求的是出身日期不能大于我们的注册日期。年龄也有要求,必须在1到150之间。
主要的实现过程是,我们的日期的判断前后的顺序是用Calender 中的before方法进行比较的。
Calendar ca = Calendar.getInstance();
ca.setTime(this.getDate());
Date d1= ca.getTime();
文档评论(0)