Struts2的配置 struts.xml Action详解

当我们用Struts2来开发Web应用程序时,需要进行相关的配置,其中最主要的配置文件就是struts.xml。在这个文件中,我们需要配置Action以及对应的Result、Interceptor等等。

下面是struts.xml的一个简单示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
   <constant name="struts.enable.DynamicMethodInvocation" value="false" />
   <package name="default" extends="struts-default">
      <action name="login" class="com.example.action.LoginAction">
         <result name="success">/login-success.jsp</result>
         <result name="error">/login-error.jsp</result>
      </action>
   </package>
</struts>

以上的示例代码中,我们配置了一个名为”login”的Action,映射到了名为“com.example.action.LoginAction”的类。

同时为这个Action配置了两个Result,其中“success”指示登录成功时跳转到“/login-success.jsp”,“error”指示登录失败时跳转到“/login-error.jsp”。

同时我们还为这个包设置了一个继承自struts-default的默认值,并设置了一个常量,用于启用或禁用动态方法调用(DMI)。

在Action中,我们需要实现execute方法来处理请求。下面是一个简单的示例:

public class LoginAction extends ActionSupport {

    private String username, password;

    public String execute() {
        if ("admin".equals(username) && "password".equals(password)) {
            return SUCCESS;
        } else {
            return ERROR;
        }
    }

    public void setUsername(String username) {
        this.username = username;
    }

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

}

以上的示例代码中,我们实现了ActionSupport接口的execute方法,并在其中验证了用户名和密码。如果验证成功,我们返回SUCCESS,否则返回ERROR。

同时,我们还提供了setUsername和setPassword方法,以便在请求到达时设置属性值。

这就是一个简单的Struts2配置和Action的例子。当然,实际应用中会更加复杂,可能涉及到多个Action之间的协作、拦截器的使用等等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2的配置 struts.xml Action详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 详解Java字节码编程之非常好用的javassist

    详解Java字节码编程之非常好用的javassist 前言 Java字节码是Java程序在编译过程中生成的中间代码,有些用户可能需要在程序运行时直接修改Java字节码,这就需要用到Java字节码编程技术。Java字节码编程技术使用非常广泛,涉及方面包括AOP、动态代理、字节码加密等。 在Java字节码编程中,有一个非常好用的工具库——javassist,它提…

    Java 2023年5月23日
    00
  • Java实现截取字符串的操作详解

    Java实现截取字符串的操作详解 Java是一种非常流行的编程语言,它内置了许多字符串操作函数,其中截取字符串也是其中一种常用的操作技能。本文旨在详细讲解Java实现截取字符串的操作,并提供两个示例进行说明。 什么是截取字符串? 截取字符串是指从一个字符串中抽取出一个子字符串。例如,有一个字符串“Hello world”,如果我们想要取出“Hello”这个子…

    Java 2023年5月26日
    00
  • 关于Java中的IO流总结(推荐)

    关于Java中的IO流总结(推荐) 概述 在Java中,IO(Input/Output)流是通常用于读取和写入数据的方式。在Java中的IO包提供了很多实现,包括了输入/输出流、文件读取和写入、网络数据传输等。IO流以字节流和字符流两种形式存在,对应到Java中分别为InputStream/OutputStream和Reader/Writer。 IO流的分类…

    Java 2023年5月26日
    00
  • java使用jdbc操作数据库示例分享

    下面是关于“java使用jdbc操作数据库示例分享”的完整攻略: 1. 准备工作 首先,我们需要准备好以下工具和环境:- JDK 1.8 或以上版本- MySQL 数据库- MySQL JDBC 驱动程序- IDE 工具(如 IntelliJ IDEA)或者代码编写器(如 VS Code) 2. 下载并导入JDBC驱动 要使用 JDBC 操作数据库,需要下载…

    Java 2023年6月16日
    00
  • JSP开发之hibernate之单向多对一关联的实例

    JSP开发之hibernate之单向多对一关联的实例 在Hibernate中,多对一关系是常见的一种关系,也是应用较广的关系之一。本文将讲解如何使用Hibernate实现单向多对一关联。 创建多对一关联的实体类 在Hibernate中,实现多对一关联关系时,需要定义一个实体类作为“多”的一方,在该实体类中声明一个关联的对象,使用引用类型(通常为另一个实体类的…

    Java 2023年5月31日
    00
  • Java中BigInteger类的使用方法详解(全网最新)

    Java中BigInteger类的使用方法详解 简介 在 Java 中对于 数值类型 的定义都是有范围的,而当我们需要用到超出这个范围的大整数时,就需要 BigInteger 类了。BigInteger 类属于 java.math 包,可以让我们处理任意长度的整数。 基本使用 1. 创建 BigInteger 对象 我们可以直接使用不同的构造函数或者将字符串…

    Java 2023年5月26日
    00
  • 详解美团实现搜索关键词自动匹配功能的方法

    以下是详解美团实现搜索关键词自动匹配功能的方法的完整攻略: 介绍 美团实现搜索关键词自动匹配功能的方法可分为两个方面:前端交互和后端搜索引擎的支持,下面将对这两个方面一一解释。 前端交互 前端交互实现起来比较简单,主要分为以下两个步骤: 1. 给输入框添加键盘监听事件 这个步骤的意思是监听用户在输入框中的输入,并将输入的内容发送到后端搜索引擎进行匹配。代码如…

    Java 2023年5月19日
    00
  • 详解SpringBoot通过restTemplate实现消费服务

    在Spring Boot中,我们可以使用RestTemplate来消费RESTful服务。RestTemplate是Spring框架提供的一个HTTP客户端,它可以发送HTTP请求并接收HTTP响应。在本攻略中,我们将详细介绍如何使用RestTemplate来消费服务,并提供两个示例来说明其用法。 以下是两个示例,介绍如何使用RestTemplate来消费服…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部