Java变得“动态”灵活

2008-08-15 10:08:42.0     浏览:440     来源:中国IT实验室
关键词:  Java     动态灵活  

2、百变CmdAction-AbstractCmdAction

  在EasyJWeb-.10新版本的Command类型的Action基类即AbstractCmdAction中,提供了足够的灵活特性使你得可以像使密宗拳一样书写Java Web Action。可以根据你不同的应用场景,像用动态语言那样书写Action中的command。

  假如我们在一个模块中要执行一个名为create操作,下面的方法签名都是合法的:

public Page doCreate(WebForm form,Module module)
  public Page doCreate(WebForm form)

  public Page doCreate(Module module)

  public Page doCreate();

  public void doCreate(WebForm form,Module module)

  public void doCreate(WebForm form)

  public void doCreate(Module module)

  public void doCreate();


  另外,把方法名称改成create,系统也一样能识别。如:
   public Page create(WebForm form,Module module)
  public Page create(WebForm form)

  public Page create(Module module)

  public Page create();

  public void create(WebForm form,Module module)

  public void create(WebForm form)

  public void create(Module module)

  public void create();

  我们可以使用xxx.ejf?easyJWebCommand=create的方式来调用这个方法,也可以使用xxx.ejf?cmd=create的方式来调用,甚至我们还可以使用/ejf/xxx/create的形式来调用。

  这种灵活的Action中的命名方法,一方面可以使代码更加简洁,易维护,同时也使我们的代码看起来更cool。另外一个主要原因是其使我们可以非常容易书写这些方法的测试代码,不需要任何Web容器,我们就能运行EasyJWeb的单元测试。

  看看Struts那种每个方法都必须生搬硬套的生成下面的方法:

   public ActionForward command(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) ...{
  …

  }

  对照EasyJWeb中提供的百变Command方法签名,您是否感觉到这个世界正在前进呢?

[上一页]   [第1页]   [第2页]   [第3页]   [下一页]