开拓自己

NeverDrop

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  0 随笔 :: 14 文章 :: 0 评论 :: 0 Trackbacks

 

struts-config 里配置的一点个人心得

在jsp里一般都是表单 提交 ,或是 超级连接 都是 用***.do来跳转

最开始去的是 actionselvlet

在这里面配置一些信息把  估计 HttpServletRequest,HttpServletResponse是在这时候产生了对象

然后马上产生actionMapping的实例(所有跳转,表单的发送 都会去这个类里的 记住,这是个流程)

然后会调用RequestProcessor类 里面的processPreprocess方法(好象就是起转发request,response的作用) 

通常我们也可以重也这个类 然后重写processPreprocess() 方法具体如下

自己重写的话 必须在</struts-config> 里加
 <controller processorClass="包名.继承RequestProcessor的类名">
 </controller>

作用是在把数据提交到action前 先可以对一些数据进行验证下,可以说 这个类可以当整体功能的
而action是 对某个模块的
如返回false  将不在进行以下操作了。

 

如果返回true;


就会在 <action-mappings>里找 与 ***.do  前面***对应的名称相同的 path值

<form-bean>里 type是formbean的绝对地址,name可以看成这个地址的简化, 当做一个映射。

<action-mappings>里 type是 action的绝对地址  ,path是这个地址 的简化,可以看成在文件里的一个映射。
 

 {
  ·如果我们这时候想把 提交的表单和formbean关联起来 

  就要把<form-bean>里name放在 <action>里, 在aciton里也叫 name  这时候 formbean 就和 action 产生了关系了   
  接着formbean的对象产生 提交的表单里的数据  如果property属性对应的值在forbean里属性有
  对应的就会 立刻调用里面的set方法
  最后 把的 4个action需要参数对象 传到action里

  · 如果我们想通过参数 来执行不同的方法 可以这么做:
  在<form-bean>里的<action >加   parameter="参数名"  这时候跳转到的action我们可以让他 继承自
   org.apache.struts.actions.DispatchAction;   DispatchAction类

  我们不用在写execute方法了
  我们写的方法名字  和参数的名对应的值一样就可以了,后面方法的参数和execute方法的一致
  方法的用法也和execute一致,如此方法可以写多个
  这样的好处是 我们在继承自DispatchAction的action里不需要做更多的判断 只看是哪个页面过来的
  就调用与这个页面传递参数相同的方法。
  
  

 }

 {

  如果我们不想和formbean关联起来 ,可以用如下方式:
  1跳转到 jsp页面
  <action forward="/要去的地址" path="/就是填***.do的***" />
  解释:path和 表单和跳转的***关联,forward就是要去的地方 
  2跳转到 action
  <action  path="/就是填***.do的***" type="包名.***Action"> 
  
  3跳转 
  <action parameter="/AddBook.jsp" path="/addbook1" type="org.apache.struts.actions.ForwardAction" />
  分析:path 在是jsp页面 发过来的 ***.do里面的  AddBook.jsp可以看成参数 但是理解上是ForwardAction
  利用这个参数 决定 跳转到哪个页面
  
  这3个跳转 包括表单的提交  都是会先经过RequestProcessor()的,手写继承RequestProcessor()的也是一样的

 }

posted on 2006-12-18 20:19 诚夏徕 阅读(210) 评论(0)  编辑  收藏 所属分类: j2ee

只有注册用户登录后才能发表评论。


网站导航: