`

Struts2 基于注解方式Action配置

 
阅读更多

这里要说的Action的配置不是在struts.xml中,而是用注解方式来进行配置的

需要一个lib\struts2-convention-plugin-2.1.8.1.jar

不过struts.xml还是要有的


struts.xml

<!DOCTYPE struts PUBLIC  
   "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"  
   "http://struts.apache.org/dtds/struts-2.1.7.dtd"> 

<struts> 
   <!-- 请求参数的编码方式 --> 
   <constant name="struts.i18n.encoding" value="UTF-8"/> 
   <!-- 指定被struts2处理的请求后缀类型。多个用逗号隔开 --> 
    <constant name="struts.action.extension" value="action,do,go,qqi"/> 
    <!-- 当struts.xml改动后,是否重新加载。默认值为false(生产环境下使用),开发阶段最好打开  --> 
    <constant name="struts.configuration.xml.reload" value="true"/> 
    <!-- 是否使用struts的开发模式。开发模式会有更多的调试信息。默认值为false(生产环境下使用),开发阶段最好打开  --> 
    <constant name="struts.devMode" value="false"/> 
    <!-- 设置浏览器是否缓存静态内容。默认值为true(生产环境下使用),开发阶段最好关闭  --> 
    <constant name="struts.serve.static.browserCache" value="false" /> 
    <!-- 指定由spring负责action对象的创建   
    <constant name="struts.objectFactory" value="spring" /> 
    --> 
    <!-- 是否开启动态方法调用 --> 
    <constant name="struts.enable.DynamicMethodInvocation" value="false"/> 
</struts></SPAN> 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">

 

 

package com.javacrazyer.web.action;  

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;  
 
/** 
* 使用注解来配置Action 
*  
*/ 
@ParentPackage("struts-default")  
// 父包  
@Namespace("/user")  
@Results( { @Result(name = "success", location = "/msg.jsp"),  
        @Result(name = "error", location = "/error.jsp") })  
@ExceptionMappings( { @ExceptionMapping(exception = "java.lange.RuntimeException", result = "error") })  
public class LoginAction extends ActionSupport {  
    private static final long serialVersionUID = -2554018432709689579L;  
    private String loginname;  
    private String pwd;  
 
    @Action(value = "login")  
    public String login() throws Exception {  
 
        if ("qq".equals(loginname) && "123".equals(pwd)) {  
            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 getPwd() {  
        return pwd;  
    }  
 
    public void setPwd(String pwd) {  
        this.pwd = pwd;  
    }  
 

 




success.jsp和error.jsp我就不贴出来了




注解配置的解释

  1) @ParentPackage 指定父包

  2) @Namespace 指定命名空间

  3) @Results 一组结果的数组

  4) @Result(name="success",location="/msg.jsp") 一个结果的映射

  5) @Action(value="login") 指定某个请求处理方法的请求URL。注意,它不能添加在Action类上,要添加到方法上。

  6) @ExceptionMappings 一级声明异常的数组

  7) @ExceptionMapping 映射一个声明异常

 

 

分享到:
评论

相关推荐

    Struts 2使用注解配置Action

    然而,随着Java注解的广泛应用,Struts 2也引入了注解配置的方式来简化开发过程,避免了XML配置的繁琐。 在"Struts 2使用注解配置Action"中,我们不再需要在struts.xml中为每个Action类手动添加配置。相反,我们...

    Struts2全注解方式实现文件上传与下载

    Struts2允许开发者使用注解来配置Action类,而不是传统的XML配置文件。这种注解驱动的方式使得代码更加简洁,易于维护。例如,我们可以使用`@Action`注解标记一个方法作为处理请求的入口,`@Result`注解则可以定义...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    此外,Struts2还提供了其他注解,如`@Results`、`@Namespace`、`@ParentPackage`等,它们分别用于定义一组结果、Action所属的命名空间以及继承的配置包。这些注解可以帮助我们在不编写XML配置的情况下,完成大部分的...

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    "Struts2 注解配置 Action 及拦截器几种不同方式写法对应的路径指向" Struts2 注解配置 Action 及拦截器是 Struts2 框架中的核心组件之一,负责处理用户请求并返回响应结果。下面,我们将通过详细的解释和示例代码...

    Struts2+spring注解配置

    Struts2 提供了一种使用注解替代 XML 配置的方式,使得开发者无需编写繁琐的 struts.xml 文件,即可完成Action的配置。 **Struts2 注解配置** 1. **Action 注解** - `@Action` 用于标记一个类或方法作为 Struts2 ...

    Struts2之Annotation注解配置使用案例struts013

    在Struts2中,Annotation注解的引入为开发者提供了更加灵活和便捷的配置方式,使得无需在XML配置文件中进行繁琐的设置,可以直接在类或方法上通过注解来进行配置。本文将深入探讨Struts2中的Annotation配置,以及...

    struts2.3.4.1注解零配置

    Struts2.3.4.1是一个...通过这种方式,Struts2.3.4.1的注解零配置极大地提高了开发效率,减少了出错的可能性,使得代码更加清晰和易于维护。理解并熟练运用这些注解,对于任何Java Web开发者来说都是至关重要的技能。

    Struts2+spring注解配置简介

    Struts2的注解配置主要集中在Action类和结果类型上。使用@Action注解,我们可以直接在Action类上声明其对应的URL路径,而无需在struts.xml文件中进行配置。例如: ```java @Action(value = "saveUser", results = {...

    Struts2 注解 Demo

    首先,Struts2的注解允许我们避免传统的XML配置,从而实现更加简洁、直观的编程方式。在`Struts2Demo`项目中,我们可以看到Action类是如何通过注解进行声明的。例如,`@Action`注解用于定义一个方法作为处理HTTP请求...

    Struts2 基于注解的文档上传与下载方法

    总结一下,Struts2基于注解的文档上传与下载主要包括以下步骤: 1. 使用`@Action`注解定义处理上传和下载的Action方法。 2. 在上传方法中,读取文件内容,存储到服务器,并处理可能出现的异常。 3. 在下载方法中,...

    struts2注解配置全面解析

    本文旨在为读者提供一套详尽的Struts2注解配置指南,帮助大家快速理解和掌握如何通过注解来配置Struts2的Action。 #### 二、Struts2注解配置基础 ##### 1. Struts2注解支持概述 - **插件依赖**:要启用Struts2的...

    基于注解的struts2的简单工程

    在这个基于注解的Struts2简单工程中,我们将深入探讨如何使用注解来配置和控制应用程序的行为,而不是传统的XML配置文件。 在传统的Struts2配置中,我们通常会在`struts.xml`文件中定义Action类、结果类型和结果...

    struts2注解登陆

    Struts2注解登录是Java Web开发中一种简化配置的方式,它允许开发者在代码中直接定义控制器、动作和结果页面的映射,从而避免了传统方式下需要在`struts.xml`配置文件中的繁琐设置。这种做法提高了代码的可读性和可...

    struts2注解必须包

    在Struts2中,注解(Annotation)是开发者常用的一种元数据表示方式,它允许我们在代码中直接标注信息,简化配置文件。"struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其...

    maven整合struts2全注解

    本文将详细探讨如何使用Maven来整合Struts2,并利用全注解的方式简化配置,提高开发效率。首先,让我们理解这三个组件的核心作用: 1. Maven:是一个项目管理工具,它帮助开发者管理项目的构建、依赖、版本控制等。...

    Struts2注解配置教程

    为了解决这一问题,Struts2提供了两种简化配置的方式:一种是按照约定来自动配置,另一种是使用Java注解来替代struts.xml文件中的配置。 通过使用注解,可以将一些基础配置信息从struts.xml文件中移除,让应用不...

    Struts2注解开发jar

    标题提到的"Struts2注解开发jar"主要指的是`struts2-convention-plugin`,这是一个Struts2的插件,它的主要作用是支持基于约定优于配置(Convention over Configuration)的开发模式。描述中提到的`struts2-...

    struts2中使用注解配置Action方法详解

    Struts2中使用注解配置Action方法详解 Struts2框架提供了四个与Action相关的注解类型,分别为ParentPackage、Namespace、Result和Action。这四个注解类型可以帮助开发者更方便地配置Action,实现零配置,零配置将从...

    struts2利用注解annotation实现文件下载

    Struts2框架通过其扩展插件——Struts Convention Plugin,支持使用注解的方式来配置控制器。这种方式简化了配置过程,使得开发者可以更专注于业务逻辑的编写。 #### 三、使用注解实现文件下载 在Struts2中实现...

    Maven实现struts2注解

    &lt;constant name="struts.objectFactory" value="struts注解工厂类全限定名,比如:org.apache.struts2.spring.StrutsSpringObjectFactory" /&gt; &lt;package name="default" extends="struts-default"&gt; ...

Global site tag (gtag.js) - Google Analytics