zoukankan      html  css  js  c++  java
  • Struts2注解 特别注意

     

    1 Struts2注解的作用

    使用注解可以用来替换struts.xml配置文件!!!

    2 导包

      必须导入struts2-convention-plugin-2.3.15.jar包,它在struts2安装包下lib目录中。 

    3 通过配置文件学习对应的注解

    @Action来代替<action>元素!

    l  String value():指定访问路径;

    l  Result[] results():指定局部结果。

    @Result来代替<result>元素!

    l  String name():指定结果名称;

    l  String location():指定结果路径。

    @Namespace代替<package>的namespace属性:

    l  String value():指定名称空间。

    @ParentPackage代替<package>的extends属性:

    l  String value():指定父包名称

    @Namespace("/order")

    @ParentPackage("struts-default")

    publicclass OrderAction extends ActionSupport  {

        @Action(value="add", results={

               @Result(name="success", location="/index.jsp"),

               @Result(name="input", location="/add.jsp")})

        public String add() {

           System.out.println("add()");

           returnSUCCESS;

        }

        @Action(value="mod", results={@Result(name="success", location="/index.jsp")})

        public String mod() {

           System.out.println("mod()");

           returnSUCCESS;

        }

        @Action(value="del", results={@Result(name="success", location="/index.jsp")})

        public String del() {

           System.out.println("del()");

           returnSUCCESS;

        }

    }

    4 注解相关常量

      struts.convention.classes.reload,默认值为false。表示在修改注解后需要重启Tomcat!

    Struts2约定(了解)

    1 什么是约定

    使用约定可以连注解都不写,是真正的零配置,但是它的能力有限,所以这种方式不可取的。

    l  Struts2会对Action的命名,以及Action的包名都有限制;

    l  Struts2会对结果页面的存放路径,以及结果页面的名称也都有限制。

      使用约定与使用注解一样,也要导包:struts2-convention-plugin-2.3.15.jar

    1        约定对Action的限制

    约定Action类名

    要求Action的命名必须以“Action”为后缀,例如:UserAction、BookAction等等。可以使用下面常量来修改后缀限制:

    <constant name="struts.convention.action.suffix" value="Action"/>

    约定Action包名

    要求Action必须放到action、actions、struts、struts2包中。例如:cn.itcast.action、cn.itcast.sturts、cn.itcast.action.user等等。可以使用下面常量来修改Actoin的包

    <constant name="struts.convention.package.locators" value="action,actions,struts,struts2"/>

    3 通过Action的限制得到访问路径

    上面已经知道约定对Action的限制,现在通过Action的包名和类名得到它的访问路径

    例如:cn.itcast.action.UserAction,它的访问路径为/user.action

    例如:cn.itcast.action.user.UserAction,它的访问路径为/user/user.action。因为在约定包action后面还有一层包user,那么这一层就是名称空间了。

    例如:com.action.cn.itcast.user.UserAction,它的访问路径为/cn/itcast/user/user.action。

    例如:cn.itcast.action.user.UserListAction, 它的访问路径为/user/user-list.action。当Action名称由多个单词构成,那么在访问路径中使用“-”来连接多个单词。

    4 通过Action的限制得到结果页面路径

    Struts2约定限制结果页面必须放到/WEB-INF/content/目录中,可以通过下面常量来修改这个限制。

    <constant name="struts.convention.result.path" value="/WEB-INF/content/"/>

    当cn.itcast.action.UserAction返回结果为success时,Struts会依次查找如下结果页面:

    l  /WEB-INF/content/user-success.jsp;

    l  /WEB-INF/content/user-success.html;

    l  /WEB-INF/content/user.jsp

    当cn.itcast.action.user.UserListAction返回的结果为error时,Struts会依次查找如下结果页面:

    l  /WEB-INF/content/user/user-list-error.jsp;

    l  /WEB-INF/content/user/user-list-error.html;

    l  /WEB-INF/content/user/user-list.jsp。

    转 http://blog.csdn.net/wk313753744/article/details/19920195

  • 相关阅读:
    oracle的安装与plsql的环境配置
    Working with MSDTC
    soapui-java.lang.Exception Failed to load url
    Oracle 一个owner访问另一个owner的table,不加owner
    Call API relation to TLS 1.2
    Call API HTTP header Authorization: Basic
    VS2008 .csproj cannot be opened.The project type is not supported by this installat
    The changes couldn't be completed.Please reboot your computer and try again.
    Create DB Table View Procedure
    DB Change
  • 原文地址:https://www.cnblogs.com/lljj/p/4673458.html
Copyright © 2011-2022 走看看