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

Struts2基於注解的Action配置

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

  使用注解來配置Action的最大好處就是可以實現零配置但是事務都是有利有弊的使用方便維護起來就沒那麼方便了

  要使用注解方式我們必須添加一個額外包strutsconventionpluginxxjar

  雖說是零配置的但strutsxml還是少不了的配置如下

  <?xml version= encoding=UTF ?>

  <!DOCTYPE struts PUBLIC

  //Apache Software Foundation//DTD Struts Configuration //EN

  /dtds/strutsdtd>

  <struts>

  <! 請求參數的編碼方式>

  <constant name=strutsinencoding value=UTF/>

  <! 指定被struts處理的請求後綴類型多個用逗號隔開>

  <constant name=strutsactionextension value=actiondohtm/>

  <! 當strutsxml改動後是否重新加載默認值為false(生產環境下使用)開發階段最好打開  >

  <constant name=nfigurationxmlreload value=true/>

  <! 是否使用struts的開發模式開發模式會有更多的調試信息默認值為false(生產環境下使用)開發階段最好打開  >

  <constant name=strutsdevMode value=false/>

  <! 設置浏覽器是否緩存靜態內容默認值為true(生產環境下使用)開發階段最好關閉  >

  <constant name=strutsservestaticbrowserCache value=false />

  <! 指定由spring負責action對象的創建

  <constant name=strutsobjectFactory value=spring />

  >

  <! 是否開啟動態方法調用>

  <constant name=strutsenableDynamicMethodInvocation value=false/>

  </struts>

  action類的注解

  package comtjcyjdwebaction;

  import ornventionannotationAction;

  import ornventionannotationExceptionMapping;

  import ornventionannotationExceptionMappings;

  import ornventionannotationNamespace;

  import ornventionannotationParentPackage;

  import ornventionannotationResult;

  import ornventionannotationResults;

  import comopensymphonyxworkActionSupport;

  /**

  * Struts基於注解的Action配置

  *

  */

  @ParentPackage(strutsdefault)

  @Namespace(/annotation_test)

  @Results( { @Result(name = success location = /mainjsp)

  @Result(name = error location = /errorjsp) })

  @ExceptionMappings( { @ExceptionMapping(exception = javalangeRuntimeException result = error) })

  public class LoginAction extends ActionSupport {

  private static final long serialVersionUID = L;

  private String loginName;

  private String password;

  @Action(login) //或者寫成  @Action(value = login)

  public String login() throws Exception {

  if (yjdequals(loginName) && yjdequals(password)) {

  return SUCCESS;

  } else {

  return ERROR;

  }

  }

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

  public String add() throws Exception {

  return SUCCESS;

  }

  public String getLoginName() {

  return loginName;

  }

  public void setLoginName(String loginName) {

  thisloginName = loginName;

  }

  public String getPassword() {

  return password;

  }

  public void setPassword(String password) {

  thispassword= password;

  }

  }

  這樣就完成了一個基於注解的action配置

  總結常用的注解如下

  Namespace指定命名空間

  ParentPackage指定父包

  Result提供了Action結果的映射(一個結果的映射)

  ResultsResult注解列表

  ResultPath指定結果頁面的基路徑

  Action指定Action的訪問URL

  ActionsAction注解列表

  ExceptionMapping指定異常映射(映射一個聲明異常)

  ExceptionMappings一級聲明異常的數組

  InterceptorRef攔截器引用

  InterceptorRefs攔截器引用組


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