熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Struts2注解(舊&新)

2022-06-13   來源: Java開源技術 

  舊版本使用注解

  開始使用注解使用的是  strutscorejar

  這個時候的過濾器是orgapachestrutsdispatcherFilterDispatcher

  可以在webxml裡面指定action的祖包actionPackages

  [html]  <initparam>

  <paramname>actionPackages</paramname>

  <paramvalue>manning</paramvalue>

  </initparam>

  <initparam>

  <paramname>actionPackages</paramname>

  <paramvalue>manning</paramvalue>

  </initparam>

  被注解的內在如上manning的包下 類名字為 TestAction  或者 Test  extends ActionSupport  即可被注解為Struts的Action

  內容可以為空 空跳轉只需在類名上面加  Result(value=/testjsp)即可如下

  [java]  package manningchapterTwo;

  import ornfigResult;

  import orgapachestrutsdispatcherServletDispatcherResult;

  import comopensymphonyxworkActionSupport;

  @Result( value=/chapterTwo/AnnotatedNameCollectorjsp )

  public class AnnotatedNameCollector extends ActionSupport {

  }

  package manningchapterTwo;

  import ornfigResult;

  import orgapachestrutsdispatcherServletDispatcherResult;

  import comopensymphonyxworkActionSupport;

  @Result( value=/chapterTwo/AnnotatedNameCollectorjsp )

  public class AnnotatedNameCollector extends ActionSupport {

  }或者

  [java]

  package manningchapterTwo;

  import ornfigResult;

  import orgapachestrutsdispatcherServletDispatcherResult;

  @Result(name=SUCCESS value=/chapterTwo/HelloWorldjsp )

  public class AnnotatedHelloWorldAction {

  public String execute()  {

  return SUCCESS;

  }

  }

  package manningchapterTwo;

  import ornfigResult;

  import orgapachestrutsdispatcherServletDispatcherResult;

  @Result(name=SUCCESS value=/chapterTwo/HelloWorldjsp )

  public class AnnotatedHelloWorldAction {

  public String execute()  {

  return SUCCESS;

  }

  }

  如上部分摘自《StrutsInAction》

  新版本使用注解

  但是現在注解及過濾器已經更新了高版本使用 strutscorejar

    StrutsPrepareAndExecuteFilter  在原過濾器包的ng包下面

    我們實現注解還需要 strutsconventionpluginjar

   可以在strutsxml或strutsproperties裡設置常量來設置Struts框架讀取哪些類為Action

   nventionactionpackages可以使用的Action的祖包默認為沒有 可以讀取這個包及其子包的所有頭上標記了【 @Action 】 的類

   nventionpackagelocators可以使用的Action的上級包默認為【actionactionsstrutsstruts這樣就可以讀取所有在包中的所有頭上注冊了【@Action】的類注意設置的action應為這個包的最後一級包 nventionactionsuffixAction類類名的後綴默認為Action

   我們使用時砍掉後綴如 TestAction  >訪問 testaction

   @Result參數變化 為 @Result(name = SUCCESS location = /mainjsp)    name 默認為SUCCESS

   多返回@Results( { @Result(name = success location = /mainjsp) @Result(name = error location = /errorjsp) })

   可以加包 @ParentPackage(strutsdefault)   空間 @Namespace(/test)  默認為excute方法在類名上定義@Action時  其他可以定義@Action在方法上

  @Action(value = add results = { @Result(name = success location = /indexjsp) })

  public String add() throws Exception {

  return SUCCESS;

  }


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28749.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.