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。

 
 

struts2注解的作用的更多相关文章

  1. Struts2注解使用说明

    Struts2注解 1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包, ...

  2. Struts2注解 特别注意

    1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包,它在struts2安 ...

  3. Struts2注解 及 约定优于配置

    Struts2注解 1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包, ...

  4. struts2注解

    一.配置web.xml <filter> <filter-name>struts2</filter-name> <filter-class>org.ap ...

  5. Struts2注解配置之@Namespace(四)

    今天开始学习@Namespace注解. 还是先看一段代码: package com.example.actions; import org.apache.struts2.convention.anno ...

  6. paip.Java Annotation注解的作用and 使用

    paip.Java Annotation注解的作用and 使用 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog. ...

  7. @ModelAttribute注解的作用

    @ModelAttribute注解的作用:1.放在方法上注解不带属性: 方法无返回值: 执行其他方法时,先执行该注解标记方法. 如果方法中有将一些属性放入model的操作,其他方法model中也会共享 ...

  8. Annotation(四)——Struts2注解开发

    Hibernate和Spring框架的开发前边总结了,这次看一下流行的MVC流程框架Struts2的注解开发吧.Struts2主要解决了从JSP到Action上的流程管理,如何进行Uri和action ...

  9. Struts2注解学习1

    这是开博的第一篇,我希望每天把我学到的东西记录下来,成为一个知识库,方便以后的学习和分享 在项目中看到用struts2注解来做,很方便,做了一个用户登录的例子 1.加载所需jar包 commons-f ...

随机推荐

  1. 40个国人iOS技术博客

    40个国人iOS技术博客 博客地址 RSS地址 OneV's Den http://onevcat.com/atom.xml 破船之家 http://beyondvincent.com/atom.xm ...

  2. Dos下mySql

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...

  3. 后端程序员看前端想死(二)进入页面之后js分析

    在上一篇中分析了一下以网页的组成.header中引入的乱七八糟的东西,现在进入到js中进行分析了 tuhooo啊,你是要搞前端了么? nonono,好玩,学一下 打开页面之后执行js的几种方法 直接写 ...

  4. ORACLE时间函数(SYSDATE)简析

    ORACLE时间函数(SYSDATE)简析 分类: 原文地址:ORACLE时间函数(SYSDATE)简析 作者:skylway 加法 select sysdate,add_months(sysdate ...

  5. 浏览器访问配置完成的ftp服务器

    在浏览器的地址栏输入: ftp://testuser:testuser@192.168.10.4 testuser 是ftp的用户名和密码: 192.168.10.4 是ftp服务器的IP地址. 亲测 ...

  6. 增删改查,连接数据库UsersDao

    package com.abc.dao; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.Re ...

  7. protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object

    使用protobuf出错:protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object ...

  8. 在c中break的使用

    break语句通常用在循环语句和开关语句中.当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句:如果没有break语句,则会从满足条件的地方(即与switc ...

  9. vue 仿今日头条

    vue 仿今日头条 为了增加移动端项目的经验,近一周通过 vue 仿写今日头条,以下就项目实现过程中遇到的问题以及解决方法给出总结,有什么不正确的地方,恳请大家批评指正^ _ ^!,代码仓库地址为 g ...

  10. jquery特效(2)—选项卡

    最近公司有个页面正好用到了选项卡,我就写了一下,感觉还不错,都挺简单的. 下面来看动态效果: 一.主体程序 <!DOCTYPE html> <html> <head> ...