guokehua(@yahoo.com.cn oy Java 1010 08高级 Action form 2008-3-10 郭克华EE框架实战教学视频
2008-3-10 1 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 08高级ActionForm ActionForm
ActionForn高级应用1:guokehua@yahoo.com.cn Action Form的 Scope Action input=/reg. jsp name="regForm" I path="reg" scope="request" type=bank action. RegAction"/> 1010 现在我们来考虑 scope的意思 首先在 Actionform内增加一个构造函数,在 reset 函数内和构造函数内增加一个标记,修改 scope,我 们来看一下结果 结论: scope= request:每次提交都会新生成一个 1生成一个t10nB对象,保存在se910m丙,以 后就不生成了,在 session中取得 在 scope= session时,一定要注意 reset的用法 008-3-10 郭克华JEE框架实战教学视频
2008-3-10 2 J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 ActionForm ActionForm高级应用1: ActionForm ActionForm的scope <action input="/reg.jsp“ name="regForm regForm" path="/reg“ scope="request" "request" type=“bank.action. action.RegAction RegAction" /> • 现在我们来考虑 现在我们来考虑scope的意思 • 首先在ActionForm ActionForm内增加一个构造函数,在 内增加一个构造函数,在reset 函数内和构造函数内增加一个标记,修改 函数内和构造函数内增加一个标记,修改scope,我 们来看一下结果 们来看一下结果 • 结论:scope=request: scope=request:每次提交都会新生成一个 每次提交都会新生成一个 ActionForm ActionForm对象;scope=session: scope=session:在一次会话中, 在一次会话中, 生成一个ActionForm ActionForm对象,保存在session session内,以 后就不生成了,在 后就不生成了,在session session中取得 • 在scope=session scope=session时,一定要注意 时,一定要注意reset的用法
guokehua(@yahoo.com.cn ActionFor高级应用2 表单跨页 有两个表单,第一个表单输入账号密码提 交,到下一个表单输入住址电话要求将 这些内容在一个 ActionForm里面保存。 1建立 ActionForm生成p1:P2 p2:配置一个 forwardAction,指向 Action Forn跳转到p2让p1提交给它 3配置另一个 Action指向同一个 Action。rm让p2提交给它 4注意:sc。pe应该等于 sessn 008-3-10 郭克华JEE框架实战教学视频
2008-3-10 3 J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 ActionForm ActionForm高级应用2:表单跨页 • 有两个表单,第一个表单输入账号密码 第一个表单输入账号密码,提 交,到下一个表单输入住址 到下一个表单输入住址,电话,要求将 这些内容在一个ActionForm ActionForm里面保存。 • 1:建立ActionForm ActionForm,生成p1,p2 • 2:配置一个forwardAction forwardAction,指向 ActionForm ActionForm,跳转到p2,让p1提交给它 • 3:配置另一个Action,, Action,,指向同一个 ActionForm ActionForm,让p2提交给它 • 4:注意:scope应该等于session session
guokehua(@yahoo.com.cn ActionForn高级应用3: 利用索引属性的 ActionForn 在某些页面上要输入许多相同类型的信 息,如一个人的三个电话号码,你采用 什么办法? 方法1:定义属性 0 phone1 phone2hone3,缺陷是 actionforn内属性个数太多 1·方法2:都叫做 phone在 ActionForm 定义数组属性内。这种方法一般被采用 方法3:索引属性 008-3-10 郭克华J2E框架实战教学视频
2008-3-10 4 J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 ActionForm ActionForm高级应用3: 利用索引属性的 利用索引属性的ActionForm ActionForm • 在某些页面上要输入许多相同类型的信 在某些页面上要输入许多相同类型的信 息,如一个人的三个电话号码,你采用 息,如一个人的三个电话号码,你采用 什么办法? • 方法1:定义属性 phone1,phone2,phone3, phone1,phone2,phone3,缺陷是 actionform actionform内属性个数太多 内属性个数太多 • 方法2:都叫做phone,在ActionForm ActionForm 定义数组属性内。这种方法一般被采用 定义数组属性内。这种方法一般被采用 • 方法3:索引属性
guokehua(@yahoo.com.cn ActionForn高级应用3: 利用索引属性的 ActionForn 第一步:表单上表单元素的 property叫做: 属性名,从0开始 1010 <html: text property="phone [0]"></html: text> <html: text property="phone [1]"></html: text> <html: text property="phone [2]"></html: text> ·第二步:在 ActionForm中定义一个数组存储 Q这些属性,增加se和get函数 private string[] phones new String [3]i public string getPhone (int i)i return phones [i]i public void setPhone(int i, string phone)i this phones [i]= phone 008-3-10 郭克华JEE框架实战教学视频
2008-3-10 5 J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 ActionForm ActionForm高级应用3: 利用索引属性的 利用索引属性的ActionForm ActionForm • 第一步:表单上表单元素的 第一步:表单上表单元素的property property叫做: 属性名[i],i从0开始 <html:text html:text property property="phone[0]" "phone[0]"></html:text html:text> <html:text html:text property property="phone[1]" "phone[1]"></html:text html:text> <html:text html:text property property="phone[2]" "phone[2]"></html:text html:text> • 第二步:在ActionForm ActionForm中定义一个数组存储 中定义一个数组存储 这些属性,增加 这些属性,增加set和get函数 private private String[] String[] phones = new String[3]; String[3]; public String getPhone getPhone(int i){ return phones[i]; } public void setPhone setPhone(int i,String phone){ i,String phone){ this.phones[i] = phone; [i] = phone; }