Struts2 注解

struts2-convention-plugin-2.x.x.jar是用于支持注解的包;

所以要使用注解方式,我们必须添加这个额外的包。

并且在WEB.XML文件中struts过滤器设置为

<filter>

<filter-name>struts2</filter-name>

<filter-class>

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

</filter-class>

一、Struts2常用注解如下:

Namespace:指定命名空间。

该注解相当于<package name="login" extends="struts-default"
namespace="logintest"></package>中的namespace属性,例如:@Namespace(value="/longspace")

ParentPackage:指定父包。

该注解相当于<package name="login" extends="struts-default"></package>中的extends属性,例如:@ParentPackage(value="struts-default")

Result:提供了Action结果的映射。(一个结果的映射)

该注解相当于<action name="login" class="com.lwsoft.action.LoginAction">
         <result name="success">/loginsuc.jsp</result>
     </action>中的<result name="success">/loginsuc.jsp</result>
例如:@Result(name="success",location="/loginsuc.jsp",type="redirect") !!!注意,在struts2.1.6中是location来转向页面,而在struts2.0.4是value属性

Results:“Result”注解列表

@Results({
         @Result(name=SUCCESS,location="/index.jsp"),
         @Result(name=ERROR,location="/error.jsp")
    })来配置多个转向

name属性指定返回的字符串,

location指定要跳转的页面,

type指定Result的类型

ResultPath:指定结果页面的基路径。

Action:指定Action的访问URL。

该注解相当于<action name="login" class="com.lwsoft.action.LoginAction">
         <result name="success">/loginsuc.jsp</result>
     </action>中的<action name="login" class="com.lwsoft.action.LoginAction">例如:@Action(value = "login", results = { @Result(name = SUCCESS, location = "/index.jsp") })

Actions:“Action”注解列表。一个ACTION中的一个方法,响应多个不同的URL的效果。

ExceptionMapping:指定异常映射。(映射一个声明异常)
ExceptionMappings:一级声明异常的数组。
InterceptorRef:拦截器引用。
InterceptorRefs:拦截器引用组。

二、示例代码如下:

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ExceptionMapping;
import org.apache.struts2.convention.annotation.ExceptionMappings;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;

import com.opensymphony.xwork2.ActionSupport;

/**
 * Struts2基于注解的Action配置
 */
@ParentPackage("struts-default")
@Namespace("/test")
@Results({ @Result(name = "success", location = "/main.jsp"),
        @Result(name = "error", location = "/error.jsp") })
@ExceptionMappings({ @ExceptionMapping(exception = "java.lange.RuntimeException", result = "error") })
public class LoginAction extends ActionSupport {
    private String loginName;
    private String password;

@Action(LOGIN)
    // 或者写成 @Action(value = LOGIN)
    public String login() throws Exception {

if ("yjd".equals(loginName) && "yjd".equals(password)) {
            return SUCCESS;
        } else {
            return ERROR;
        }
    }

@Action(value = "add", results = { @Result(name = SUCCESS, location = "/index.jsp") })
    public String add() throws Exception {
        return SUCCESS;
    }

public String getLoginName() {
        return loginName;
    }

public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

public String getPassword() {
        return password;
    }

public void setPassword(String password) {
        this.password = password;
    }
}

时间: 2024-08-28 05:22:46

Struts2 注解的相关文章

Annotation(四)——Struts2注解开发

Hibernate和Spring框架的开发前边总结了,这次看一下流行的MVC流程框架Struts2的注解开发吧.Struts2主要解决了从JSP到Action上的流程管理,如何进行Uri和action类中每个方法的绑定这是重点,在这里先简单看一下配置文件中的简单配置: [html] view plaincopyprint? <span style="font-size:18px;">  <!-- 这是包名和命名空间的声明 --> <package name

Struts2注解

需要包 struts2-convention-plugin.jar @Namespace("/xxxx/zzz") public class ConnectionAction { /** Action执行方法* */ @Action(value = "ConnectManage", results = { @Result(name = "success", location = "aaa.jsp"), @Result(name

Struts2注解指定Action扫描路径

使用spring和struts2集成全注解时 struts2默认扫描包名 action,actions,struts,struts2 的包 如果action不存在以上包时 就不会扫描到 此时需要在struts.xml中增加注释 <constant name="struts.convention.package.locators" value="action,actions,struts,struts2,admin"/> admin为增加的包名 Strut

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

struts2注解实现页面的跳转

注解实现的页面跳转其特点是不用配置文件struts.xml因而可以实现零配置. action类: package cn.mrcast.action; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; import

ssh2项目整合 struts2.1+hibernate3.3+spring3 基于hibernate注解和struts2注解

项目目录结构如下: 核心配置文件: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo

Struts2注解详解

一,引入支持Struts2支持注解开发jar包: struts2-convention-plugin-2.1.8.1.jar(支持Struts2框架注解开发的jar包) 二,Struts2使用注解开发需要遵循一些规范: 1,Action要必须继承ActionSupport父类: 2,Action所在的包名必须以  .action 结尾. 三,action中常用的注解: 1,@ParentPackage:对应xml配置文件中的package的父包,一般需要继承struts-default. 2,@

struts2注解总结[email&#160;protected]

写在前面: 本文主要讲的是注解方式的拦截器的使用,所以xml文件的不会细讲,文中的代码也比较简单,没有什么权限控制啊,拦截信息之类的代码,重点还是说明注解方式的使用方法,了解了使用方法之后,内容可以自行扩展,这个根据自己的需要来,好了,就这样. 上次写了@Action和@Result两种注解的使用方式,这次要讲的是@Interceptor和@ParentPackage 介绍: @InterceptorRef/@InterceptorRefs: @InterceptorRef可以就是用来配置拦截器

spring4+hibernate4+struts2注解,class找不到bean

最近想整合S2SH,采用的是spring4+hibernate4+struts2+maven+MySQL+jdk1.8+tomcat7. 整个项目采用注解实现:spring.hibernate都采用注解实现. struts.xml: <constant name="struts.objectFactory" value="spring"/> <constant name="struts.devMode" value="