struts2注解

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")

publicclassOrderAction extendsActionSupport  {

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

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

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

  publicString add() {

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

      returnSUCCESS;

  }

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

  publicString mod() {

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

      returnSUCCESS;

  }

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

  publicString 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。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,627评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,995评论 0 11
  • 概述 什么是Struts2的框架Struts2是Struts1的下一代产品,是在 struts1和WebWork的...
    inke阅读 2,337评论 0 50
  • 从struts2.1开始,struts2 引入了Convention插件来支持零配置使用约定无需struts.xm...
    蝌蚪1573阅读 498评论 0 0
  • 不知道你是否听说过巴纳姆效应~每个人都容易相信一个笼统的人格描述特别符合自己但是讲真,对于星座,我一直都是听着乐的...
    间谍少女C阅读 900评论 1 5

友情链接更多精彩内容