首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

MappingDispatchAction的施用

2012-10-11 
MappingDispatchAction的运用如果大家用过DispatchAction的话,接触MappingDispatchAction的话就不是很难了

MappingDispatchAction的运用
如果大家用过DispatchAction的话,接触MappingDispatchAction的话就不是很难了,大家记住了这是struts1.2里新加入的。

首先说一下它的的优点:

   (1)可以为每个响应用户请求的Action方法定义自己的name,validate,input和scope等参数,而在使用DispatchAction时,这些参数都是被Action中的所有方法所共享的。

(2)在使用DispatchAction时,所执行的Action方法在url中是能显示出来的,也就是用户可以通过地址栏或者提交的数据得到所执行的方法。这有安全隐患。而MappingDispatchAction则避免了用户知道响应用户请求的Action方法的名称。

这是最简单的例子,若感觉有必要回在追加的  废话少说,开始写例子:

1。先从Action下手吧,Action要继承MappingDispatchAction,不要重写execute方法,说白了就是不要出现execute方法。

public class MovementAction extends MappingDispatchAction {
Gfa3}_0 //省略了页面转发,直接在控制台输出炎黄在线www.yh365.comI@Fswuy%[a;]
public ActionForward eat(ActionMapping mapping, ActionForm. form,炎黄在线www.yh365.com?^ H*x Jcz6oJQ
   HttpServletRequest request, HttpServletResponse response) {
&`o;E?K*~;grD0  System.out.println("eat");炎黄在线www.yh365.com*b @ Go?o&M0lRo#R
  return null;炎黄在线www.yh365.com$eeJ.^^d:]3Y
}
%]d;`O1L3a!|/c0 public ActionForward drink(ActionMapping mapping, ActionForm. form,
+m#s1_7S8UIR#w:B0   HttpServletRequest request, HttpServletResponse response) {炎黄在线www.yh365.com,RzYXH
  System.out.println("drink");
?N3HvV[ S!r2L0E0  return null;
zYRv2oU4~0 }
sVg"g9v2{0 public ActionForward play(ActionMapping mapping, ActionForm. form,
PV3klm~4]0   HttpServletRequest request, HttpServletResponse response) {炎黄在线www.yh365.com8mNxHX bsQ$m:PI
  System.out.println("play");炎黄在线www.yh365.com0s$YCpc:{7g
  return null;
Jr?~ nnO0 }炎黄在线www.yh365.comG%ez0`J4FC
public ActionForward happy(ActionMapping mapping, ActionForm. form,
0z%E6]!n.?"h0   HttpServletRequest request, HttpServletResponse response) {炎黄在线www.yh365.commo@ o1V?`vW~!JH
  System.out.println("happy");
,N-~,j;@;jv0  return null;
R CBt~5|bgV0 }炎黄在线www.yh365.com.^MLZ%_)K
}

2。配置struts-config.xml:

<action-mappings >
jd)A/JIsq0    <action path="/eat" type="com.yourcompany.struts.action.MovementAction" parameter="eat" />炎黄在线www.yh365.comL"x#Mw6B:W
    <action path="/drink" type="com.yourcompany.struts.action.MovementAction" parameter="drink" />炎黄在线www.yh365.comj~3g6J _E+jmg,k$]k
    <action path="/play" type="com.yourcompany.struts.action.MovementAction" parameter="play" />炎黄在线www.yh365.comQ"K@7ZsFOQ
    <action path="/happy" type="com.yourcompany.struts.action.MovementAction" parameter="happy" />

</action-mappings>

3。编写MyJsp.jsp:

<a href="/abc/eat.do?method=eat">吃</a>
d%cA M hm1zM;o0    <a href="/abc/drink.do?method=drink">喝</a>炎黄在线www.yh365.com5\D!Eip9Ky?z
    <a href="/abc/play.do?method=play">玩</a>炎黄在线www.yh365.comMuwTI-Xe
    <a href="/abc/happy.do?method=happy">乐</a>

这里与DispatchAction不同的是在struts-config.xml里<action>中的parameter参数的值不是统一的,

值跟Action中的方法名字是对应的,比如parameter="eat" 则在MovementAction 中就要有eat方法。

以上是最简化的实例,若对大家有帮助,我会很高兴,若有不对或好方法请多提意见。

热点排行