annotation 实现 | 学习笔记

简介: 快速学习 annotation 实现,介绍了 annotation 实现系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web开发系列课程 - Struts2框架入门annotation 实现】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/537/detail/7328


annotation 实现

 

我们会发现使用注解会比较方便,注解的实现是通过插件来实现的,新建一个 new web project 叫做 19struts2_annotation,

在 struts  项目里面使用注解写起来比较舒服和简单,在使用了注解之后就不需要再写配置文件了。

首先把相应的包和配置先拷贝过来。

<filter>

<filter-name> struts2</filter name>

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

</filter-class>

</filter>

<filter-mapping>

<filter name>struts2</filter name>

<url- pattern>/ *</ url-pattern>

</filter-mapping>

然后使用注解需要导入一个名为 convention 的插件,然后打开文档查看插件的用法。

在 plugin developers guide (插件开发的用法)里面找到 convention plugin,里面有一些介绍,怎么绑定怎么使用。

注意:

Action 需要继承 ActionSupport 类,Action 要放在以 .action 结尾的包中,这就是不同的框架,不同的框架叫法不一样。

创建一个 new java class 名为 helloaction。

image.png

首先继承 actionsupport。

image.png

继承他以后就可以配配置,会把所有的属性列出来,相应的语句对应

着相应的属性,可以配制多个,多个要使用大括号。如果要引用拦截

器的话还要再另外做拦截器的配置。

代码为:

import com . opensymphony . xwork2. ActionSupport;

@ParentPackage (value="struts-default")

@Namespace("/")

public class HelloAction extends ActionSupport {

@Action(value="/he1lo",

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

public String execute(){

System. out . println("hello action");

return "success";

}

}

在这里 value="/he1lo" 和直接的 hello 效果是一样的,其中配置

result 是根据 word 文档里面的大纲来实现的。

com example. actions. HelloIWorld

package com. exanple. actions;

import com pensymphory. xwork2. ActionSupport ;

import org. apache. struts2. convention. annotation. Action;

import org. apache. struts2. convention. annotation.

Actions;

import org. apache. struts2. convention. annotation. Result ;

import org. apache. struts2. convention. annotation.

Results ;

public class HelloWorld ext ends ActionSupport {

@Action (value=*/different/url" ,

results= T@Result (name=" success", type=' httpheader",

parms {" status",“ 500”,"errorMessage", "Internal Error"})}

public String execute() {

return SUCCESS:

}

@Action(" /another/url")

public St ring doScmething() {

return SUCCESS;

}

改完之后查看有没有报错,如果没有就打开 annotation 的网页,

会发现已执行,显示 hello action。

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

可能会有好多个,这也是麻烦的一个点。

相关文章
|
安全 Java 编译器
一文带你全面深入理解Java注解Annotation
一文带你全面深入理解Java注解Annotation
266 1
一文带你全面深入理解Java注解Annotation
|
Java 编译器 测试技术
java注解annotation学习
java注解annotation学习
119 0
|
Java 编译器
自定义Annotation(二)上
注解Annotation 很强大,很重要,是不是想要自己能够编写注解呢? 接下来,我们就可以尝试编写简单的注解了。
116 0
自定义Annotation(二)上
|
开发框架 Java 编译器
Java注解Annotation小结
Java注解Annotation小结
|
前端开发 安全 Java
Java注解(Annotation):请不要小看我!(1)
Java注解(Annotation):请不要小看我!
117 0
Java注解(Annotation):请不要小看我!(1)
|
Java 开发者
自定义 Annotation | 学习笔记
快速学习 自定义 Annotation
111 0
|
设计模式 Java 开发者
工厂设计模式与 Annotation 整合|学习笔记
快速学习 工厂设计模式与 Annotation 整合
107 0
Annotation-自定义注解入门
Annotation-自定义注解入门
135 0
|
前端开发 Java 编译器
Java注解(Annotation):请不要小看我!(2)
Java注解(Annotation):请不要小看我!
133 0