论坛首页 Java企业应用论坛

Webwork如何处理复杂的跳转

浏览 13446 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-06-28  
OneEyeWolf 写道
还是不大明白以下这个例子的跳转如何用webwork的Result实现:
  从Request中取出URL。
  然后跳往这个指定的URL。
 
  谁知道?


参考 com.opensymphony.webwork.dispatcher.ServletRedirectResult
他接受两个参数
location
parse(default true)
参见楼上 knight6892的例子
0 请登录后投票
   发表时间:2006-06-28  
多谢各位帮助
0 请登录后投票
   发表时间:2006-06-30  
实现了ServletRequestAware等注入接口,在做单元测试时,就不能用常规的注入方法进行单元测试,是不是要必须Mock出这些对象出来。才能进行单元测试?
0 请登录后投票
   发表时间:2006-06-30  
OneEyeWolf 写道
实现了ServletRequestAware等注入接口,在做单元测试时,就不能用常规的注入方法进行单元测试,是不是要必须Mock出这些对象出来。才能进行单元测试?


set方法都有了,你还不会注入啊!
0 请登录后投票
   发表时间:2006-06-30  
他指的是被set的对象。

那是当然要new 的,不过有的就没必要mock了。
实际建立就好。
0 请登录后投票
   发表时间:2006-06-30  
我的意思是:
   如果set的对象是HttpServletRequest, 必须要Mock的,如果在Action中使用了Request,Session等对象,都需要MOCK后再注入的。类似于StrutsTestCase,它封装了MOCK操作,在做单元测试时,可以直接得到Mock对象,直接Put测试数据就行了。
0 请登录后投票
   发表时间:2006-06-30  
最终的解决方案及应用案例如下:

现在写了一个公用的查询框架,使用查询的人继承这个查询框架,只需要组装SQL,返回一个SQL串就行了,不需要再写Action类,更不需要使用Struts-config文件或xwork.xml文件来配置,但对于查询后的跳转,框架是无从知道的,需要调用者来指定跳转页面。
  现在的解决方案是又写一个配置文件,用户可以在配置文件中指定跳转类型,配置文件如下:
  <!--全局的跳转类型-->
  <global_redirects>
     <!-- 框架会调用session.getAttribute("returnURL");获得要跳转的URL,如果message不为空,在跳转后,还会弹出message对话框 -->
     <redirect type="getFromSession" param="returnURL" message="${message}"/>

     <!-- 框架会调用request.getAttribute("returnURL");获得要跳转的URL -->
     <redirect type="getFromReqeust" param="returnURL" message="${message}"/>

      <!-- 框架会调用request.getParam("forward");获得要跳转的Forward Name, 框架会在xwork配置文件中找到这个Forward -->
     <redirect type="getFormParam" param="forward" mesage="${message}" />

     <!-- 下面是最简单的跳转,没有多大意义 -->
     <redirect type="common" name="SUCCESS" path="/common/success.jsp" message="${message}"/>
     <redirect type="common" name="FAILURE" path="/common/failure.jsp" message="${message}"/>
  </global_redirects>
 


请问,如果是你们做,会怎么处理这样的案例?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics