Java笔记 第25章 Struts2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java笔记 第25章 Struts2

Action是一个有着规定格式的Java类,Struts2不强制要求Action继承任何类或实现任何接口。但是继承ActionSupport可以方便一些操作: 增加数据校验。ActionSupport实现了Validateable接口,重写其validate方法提供了数据校验功能。如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。validate方法在execute()方法之前执行,可以用来对用户的输入进行简单验证,比如:非空验证。 提供了一个getText(String key)方法,该方法用于从资源文件中获取国际化信息。 访问Web资源(HttpSession,HttpServletRequest,HttpServletResponse)的几种方法: 与ServletAPI解耦的方式: 通过使用ActionContext对象:Struts2对HttpServletRequest,HttpSession和ServletContext进行了封装,构造了3个Map对象来替代这3个对象,在Action中可以直接使用这3个Map对象来保存和读取数据。但不能进行其它操作。ActionContext中保存了Action执行所需要的所有对象,包括parameters,request,session,application等。 HttpServletRequest:通过为get()方法传递request参数实现 Httpsession:getSession() ServletContext:getApplication() RequestParameters:getParameters() 实现对应的Aware接口: 与ServletAPI耦合的方式:直接得到对应的对象 用ServletActionContext:get对应的对象 实现Aware接口 完成在线人数的例题。 Struts-HelloWorld Struts2.0与2.1在web.xml文件配置filter-class类时略有差别。 Struts.xml 配置开发者模式: namespace:决定的action的访问路径,默认为“”,/xxx/yyy对应/xxx/yyy/index.action,若为空,刚只要URL以index.action结尾,都可以访问到。如/xxx/index.action, /xxx/yyy/index.action都可以访问到。 当复制或导入Web应用时,需要修改WebContent-root路径为导入的Web应用 修改JSP的默认编码方式 ActionSupport的源码在Xwork中,需要导入Xwork的源码才能看到,在XWork的包的属性里 Struts2中的路径是根据action的路径而不是jsp路径来确定,所以尽量还要使用相对路径。使用绝对路径,在JSP中用request.getContextRoot得到Webapp路径或者使用MyEclipse经常用到的,指定basePath。 动态的方法调用:格式为index!add,不加.action,可以代替用mothod指定方法,对于一个action中有多个方法更加便利。 可以在配置文件中配置Action的时候用method=来指定执行哪个方法,但会产生过多的action,不推荐使用 也可以在URL中动态指定,称为动态方法调用DMI,推荐使用。格式为action!method 使用通配符将配置量降到最低:用*表示改变的配置,在后边用”{数字}”来引用,数字为*出现的先后顺序,从1开始;通配符适用action,class,method,result的配置。通配符与动态设计方法调用择优选择。如果有重复的,首先会匹配最精确的,即未配置通配符的先匹配,包含通配符的优先等级相同,按先后顺序匹配。 Action根据方法进行传值,只要方法名符合要求即可。 页面传值:输入框的值会传给action;另外: 在原页面向session和request域中传值在目标页面可以获取 用域模型进行传值:比如有一个User对象 则可以在Action中创建User对象作为成员变量,它的属性可以通过这个对象获取。使用域模型在URL中的赋值方式: 还可以通过实现ModelDriven接口来实现,传值方式与普通action相同: 普通Action的实现方法,如果属性过多则会很麻烦,在URL中的赋值方式: 如果表单中涉及中文操作,则表单的提交方式尽量用post action中验证时可以加入错误提示信息,也可以配置错误页面,当验证错误时进行跳转。配置的错误信息在前台页面用struts标签进行读取和显示。另外struts还会默认为错误信息加上CS

文档评论(0)

cbf96793 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档