struts1第二课.doc_第1页
struts1第二课.doc_第2页
struts1第二课.doc_第3页
struts1第二课.doc_第4页
struts1第二课.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java软件工程师培训 张海林第一讲 Struts开发步骤一、 新建web工程,引入struts1.2的组件包二、 打开struts-config.xml文件,通过设计视图创建实体类(FormBean类),新建formBean如下图所示: 点add按钮加入属性 三、 在struts-config.xml文件的设计视图,开始设计访问流程1、建立自定义的Action必须继承自Action 2、当此action处理请求以后跳转的下一个路径,整个流程图如下所示:此导航图对应的xml源代码如下: Action中配置的name属性必须与form-bean节点的name属性保持一致 获取数据的jsp页面,此jsp页面必须有表单提交,才需要配置name属性和attribute属性,scope属性是将formbean对象保存在指定的作用域,默认情况下是session 在login.jsp页面通过check.do提交表单数据到CheckAction进行处理,在CheckAction中需要重写execute方法,在此方法中接收用户的请求,接收到以后对请求进行处理,获取actionform对象,此ActionForm就是UserForm对象,此form对象中已经封装了用户的请求信息。实际上就是将表单元素的值传递给了UserFrom对象。在action的execute方法中对userfrom对象进行验证.业务代码如下:package com.zhhlk.struts.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.zhhlk.struts.form.UserForm;/* * * XDoclet definition: * struts.action path=/check name=userForm input=/login.jsp scope=request */public class CheckAction extends Action /* * Method execute * param mapping * param form * param request * param response * return ActionForward */public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) UserForm userForm = (UserForm) form;/ TODO Auto-generated method stubif(userForm=null)return mapping.findForward(fail);if(userForm.getUname()!=null&!userForm.getUname().equals()&userForm.getPasswd()!=null&!userForm.getPasswd().equals()return mapping.findForward(loginok);return mapping.findForward(fail);在execute方法中传递了四个参数,四个参数的意义如下:(1)、ActionMapping-实现跳转到指定的路径,对应的是struts-config.xml文件的节点,此对象由struts容器创建,并且调用findForward方法跳转到指定的路径。(2)ActionForm实体类对象,由struts容器创建,用于封装jsp页面提交的表单元素或请求的信息。ActionForm当中的属性名称必须要与jsp页面的表单元素的名称保持一致(一样),且属性要大于或等于表单元素的个数,继承自ActionForm类.(3)HttpServletRequest-请求对象,由web容器创建 (4)HttpServletResponse响应对象, 由web容器创建四、 编写jsp页面,页面的规范如下: login.jsp 登陆 账号: 密码: 在jsp页面使用了struts的html标签以后,标签中不能出现name属性,因为在struts的html标签中name 属性表示作用域的名称。Form表单的名称与action节点的name属性名称一致。 第二部分 动态的(DynaActionForm)ActionForm一、 在当前的web工程中创建实体类UserBean类(此web工程已经引入了Struts组件包)二、 将创建的UserBean类定义为动态的FormBean的属性具体的配置代码如下: Struts-config.xml文件中的导航如下:Struts-config.xml文件的配置导航源码如下: 在action中对动态formbean的对象处理如下:/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */package com.zhhlk.struts.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.DynaActionForm;import com.bean.UserBean;public class CheckAction extends Action /* * Method execute * param mapping * param form * param request * param response * return ActionForward */public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) DynaActionForm userForm = (DynaActionForm) form;/ TODO Auto-generated method stub/通过DynaActionForm对象获取UserBean对象的属性UserBean ub=(UserBean) userForm.get(ubean);if(ub=null)return mapping.findForward(fail);if(ub.getUname()!=null&ub.getPasswd()!=null&!ub.getUname().equals()&!ub.getPasswd().equals()return mapping.findForward(loginok);return null; 通过UserBean ub=(UserBean) userForm.get(ubean);获取UserBean对象,ubean参数表示配置在struts-config.xml文件中:的name属性三、 在jsp页面对动态form中的ubean属性进行访问 login.jsp !- 用户登录 账号: 密码: (1)使用struts的html标签获取动态formBean中的对象属性需要做以下的规范(login.jsp页面):通过子属性ubean设置属性uname的值.Ubean是动态form(UserForm)的子属性。(2)在action的execut

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论