- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3讲:Action设计、配置与运行 3.1如何开发Action 3.2Action做了些什么 温故 创建Struts2支持的Web应用 创建Web项目 添加Struts2支持 拷贝Struts2组件 修改web.xml配置 创建视图组件:JSP网页 创建模型组件:Action类 配置Struts2框架:struts.xml 作业中的问题 调试中的问题 如果在服务器启动时控制台出现了错误信息,一般情况下是配置文件错误,应该检查配置文件(示例) 学会阅读控制台错误信息提示、浏览器中显示的异常提示 本讲要点与教学目标 如何开发Action Struts2中提供了三种创建Action的方法 1.直接创建一个普通类 2.通过实现Action接口 3.通过继承ActionSupport类(推荐使用) 案例1:直接创建Action 基本步骤 创建Web项目,添加Struts2支持 直接创建Action类:ActionDemo1.java 创建相应视图:hello1.jsp 在struts.xml中配置Action 案例1:直接创建Action 案例2:实现Action接口 如何阅读Struts2框架的源代码? 关联源代码的方法1 在需要关联源代码的包上点右键,选properties,弹出对话框。 选择java Source Attachment,单击external folder按钮,选择下载的struts源代码目录,目录为:\struts-\src 关联源代码方法2 双击需要关联源代码的包中的一个类,在右边的编辑窗口中单击“Attach Source”按钮,弹出对话框 单击external folder按钮,选择下载的struts源代码目录,目录为:\struts-\src 阅读源代码 只要在项目中双击class文件,便可自动打开它所关联的源代码,并显示在编辑窗口中 案例2:实现Action接口 【com.opensymphony.xwork2.Action接口】 案例2:实现Action接口 创建ActionDemo2类实现Action接口 案例2:实现Action接口 ActionDemo2创建配置、hello2.jsp创建 案例3:继承ActionSupport 阅读ActionSupport源码 它除了实现Action接口,还实现了其他一些接口 Validateable, ValidationAware提供验证功能 TextProvider, LocaleProvider提供国际化本地化支持 execute()方法只是返回SUCCESS值 为什么要继承ActionSupport? ActionSupport实现了很多有用的接口,通过继承它可以方便地使用Struts2框架提供的强大功能,提高工作效率 Struts2框架的核心特征: 智能缺省—对于Web应用中常见问题,框架给出通用的解决方案(ActionSupport-输入校验、国际化),开发人员只需在此基础上添加自己特殊需要 案例3:继承ActionSupport 创建ActionDemo3类继承ActionSupport类 案例3:继承ActionSupport ActionDemo3配置、hello3.jsp创建 关于Action配置的问题讨论1 【问题】result配置时缺省name属性,默认值是什么? struts.xml文件中将result的name属性删除 观察三个Action中的execute()返回值 将ActionDemo1返回值改为SUCCESS,并调试 【结论】result的name属性值为success时,可缺省 问题讨论2 【问题】action缺省class属性时,关联哪个Action类? 在struts.xml的package内添加action配置如下: action缺省class属性,result的name为success,或缺省name属性,绑定视图为demo1.jsp 测试运行demo4 可直接转到demo1.jsp执行,但是不能输出hello1属性值 【结论】action缺省class配置时,默认为ActionSupport类,该类的execute()方法返回success,因此可转到对应的视图去执行。 问题讨论3 【问题】在请求action时,缺省.action后缀能否正常运行? 【结论】在请求action时,后缀.action可以缺省 【问题】package的namespace缺省时为,如何匹配? 增加1个package,缺省为,其中配置名为demo5的action并关联视图hello5.jsp,地址栏输入: http://localhost:8080/action3-1/demo/abc/demo
原创力文档


文档评论(0)