`

struts2注解笔记1

 
阅读更多
一  struts 2.1中,用convention去代替了code-behind,
 
convention用法:
1、默认拦截action,actions,struts,struts2包名下面的Action为结尾或者继承ActionSupport的类。

   

   当然也可以改 <constant name="struts.convention.package.locators" value="web"/> VALUE中指定
WEB目录及子目录下Action为结尾或者继承ActionSupport的类
,这样的话,不用再写struts.xml中的配置
   比如在地址栏中输入hello.action
则去找com.xxxx.web包下HelloAction.java的对应的action类中的excute方法,
如果是hello!hello.action,则找 HelloAction.java中的hello方法

然后去   WEB-INF\content\hello.jsp 找对应的页面显示。

如果不想设定这个目录,则可以设置:
<constant name="struts.convention.result.path" value="/WEB-INF/jsp/"/>

2 如果访问的名字为 hello-world.action

则访问HelloWorld.action类(去掉-号)  WEB-INF\content\hello-world.jsp

<constant name="struts.convention.action.name.separator" value="."/> 则可以改变多个单词之间的分隔符,

这样的话,可以用
    hello.world.action去访问,同时web-inf\content\hello.world.jsp要改成相应的.号


3 @action的使用
   @Action("/langsin")
public String mth1(){

System.out.println(" mth1 ok");

return SUCCESS;
}

    同时在web-inf/jsP中配置langsin.jsp,则访问xxxx/langsin.action,会访问mth1方法,输出mth1 ok
   如果有多个方法,多个action的注解,比如:
   @Action("/langsin")
public String mth1(){

System.out.println(" mth1 ok");

return SUCCESS;
}

@Action("/iceman")
public String mth2(){
System.out.println(" mth2 ok");

return SUCCESS;
}

  则可以xxxx/langsin!mth2.action访问mth2方法,输出System.out.println(" mth2 ok"),注意用的JSP
页为langsin.jsp,而不是用iceman.jsp
同理 xxx/iceman!mth1.action访问mth1方法,输出mth1 ok


4 如果src\com.web一个包,而在com.web下又有一个子目录user,比如src\com.web.user\UserAction.java,
则必须同时在web-inf\jsp\user\user.jsp,
然后访问时,用http://xxxx/user/user.action访问
 
  命名空间:

@Action("/langsin/iceman")
public String mth3(){

System.out.println(" mth3 ok");

return SUCCESS;
}
   则web-inf\jsp\langsin\iceman.jsp

5
  @Actions({
@Action("/one"),
@Action("/two")
})
public String mth4(){

System.out.println(" mth4 ok");

return SUCCESS;
}
  能同时映射多个,
   
6 返回值的映射
   @Action("rs")
public String mth5(){
System.out.println(" mth5 ok");

return "error";
}
    访问的是rs_error.jsp(action的名字-返回值的名字)


7 命名空间
   @Namespace("/helloworld")
public class HelloWorld extends ActionSupport {

  。。。。。
@Action("langsin")
public String mth1(){

System.out.println(" mth1 ok");

return SUCCESS;
}
     要用http://xxx/helloworld/langsin.action访问,并且映射的是web-inf\jsp\helloworld目录下的langsin.jsp
而如果  @Action("/langsin"),则覆盖掉namespace了,不需要用namespace
直接http://xxx/langsin.action即可,但访问的是web-inf\jsp下的langsin.jsp

8 拦截器
   @InterceptorRefs({
@InterceptorRef("otherInterceptor"),
@InterceptorRef("myInterceptorStack")
})
。。。。。。。。。。。。。。

9  <constant name="struts.convention.action.name.lowercase" value="false"/>
  说明JSP用大写映射规则,比如Hello-World.action,映射到Hello-World.jsp ,区分大小写,一般该值取TRUE
分享到:
评论

相关推荐

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2课程笔记

    本课程笔记主要涵盖了Struts2的基础概念、核心功能及其工作流程。 首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2学习笔记.doc

    - 使用注解方式(适用于Struts2较新版本)。 - 在`struts.xml`或Action类中通过配置文件的方式进行校验规则的定义。 **3.2 校验规则示例** - **常见校验规则**:如必填字段验证、长度限制、格式验证等。 #### 四...

    struts2 学习笔记 实战

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...

    struts2四天的学习笔记

    1. **MVC模式**:Struts2基于Model-View-Controller(MVC)设计模式,它将业务逻辑(Model)、用户界面(View)和控制器(Controller)分离,使得代码结构清晰,易于维护。 2. **Action类**:在Struts2中,Action类...

    黑马程序员Struts2笔记

    本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...

    struts2学习笔记

    以上就是Struts2学习笔记中涵盖的主要知识点,这些内容涵盖了从基础到进阶的应用,对于理解和掌握Struts2框架至关重要。尽管对于初学者来说可能有些复杂,但随着深入学习,你会发现Struts2的强大和实用性。

    struts2笔记

    本笔记将深入探讨Struts2的核心概念、执行流程、类型转换、输入验证和国际化等方面。 **一、Struts2框架基础** Struts2是Apache软件基金会的一个开源项目,它是基于拦截器的MVC框架,继承了WebWork框架的优点。...

    马士兵Struts2笔记2013

    1. **建立Struts2工程** 创建一个Struts2工程通常涉及在集成开发环境中(如MyEclipse)创建一个新的Web项目,然后将必要的Struts2库添加到项目的`lib`目录,并配置`web.xml`以启用Struts2 Filter。 2. **Action的...

    struts2图表笔记

    Struts2的核心是Action类,它是业务逻辑的载体,通过配置文件或注解与URL进行映射。拦截器使得我们可以插入各种处理逻辑,如日志、权限检查等,增强了框架的灵活性。 二、动态图表的原理 动态图表是基于数据生成的...

    struts2学习笔记和源码

    这份"struts2学习笔记和源码"资源是学习这个框架的理想材料,特别适合初学者。 一、Struts2框架基础 Struts2是Apache软件基金会下的一个项目,它是Struts1的升级版,弥补了Struts1的一些不足,如动作映射和拦截器等...

    struts2学习笔记三(第3讲.Struts2的类型转换)

    在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`...

    Struts2笔记

    Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有较大的改进。Struts2是一个基于MVC(Model-View-Controller)模式的Java Web应用框架,它能够帮助开发者快速构建出结构...

Global site tag (gtag.js) - Google Analytics