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使用三层架构实现电影购票系统

    下面是详细讲解Java使用三层架构实现电影购票系统的完整攻略: 1. 什么是三层架构 三层架构是将一个软件系统分成三个层次进行开发和管理的架构,分别是: 表示层,也叫用户界面层,是用户直接看到和交互的部分,主要负责图形化的展示和与用户的交互。 业务逻辑层,也叫服务层,是处于表示层和数据存储层之间的一层,主要负责处理数据的业务逻辑。 数据存储层,也叫持久化层,…

    Java 2023年5月24日
    00
  • Hibernate核心思想与接口简介

    Hibernate是一个Java平台的ORM(对象关系映射)框架,它的核心思想是将Java对象映射到关系型数据库中的表中,并且支持数据库的操作以及增删改查等操作,从而简化了Java应用程序对数据库的编程工作。 Hibernate的接口包括Session、Sessionfactory、Transaction等,其中Session是Hibernate的核心接口,…

    Java 2023年5月19日
    00
  • 微信小程序使用GoEasy实现websocket实时通讯

    下面是详细讲解“微信小程序使用GoEasy实现websocket实时通讯”的完整攻略。 准备工作 注册GoEasy账号,获取Appkey和Appsecret。 在微信小程序开发者工具中创建一个新项目。 引入GoEasy SDK 在微信小程序的app.js中引入GoEasy SDK。 const goEasy = require(‘./utils/goeasy…

    Java 2023年5月23日
    00
  • 如何优雅的抛出Spring Boot注解的异常详解

    当我们在使用Spring Boot开发应用时,由于各种原因,可能会出现一些异常情况。这时,我们需要通过抛出异常的方式来告知客户端或其他开发者应用程序的状态。但是,简单地抛出异常并不够友好,我们需要将异常信息封装在特定的异常类中,以便于错误追踪和维护。如何优雅地抛出Spring Boot注解的异常呢?下面是一个完整攻略。 1. 如何定义异常类 在Java程序中…

    Java 2023年5月27日
    00
  • 一文搞懂Java顶层类之Object类的使用

    一文搞懂Java顶层类之Object类的使用 简介 在Java中,所有类都有一个共同的父类,即Object类。Object类定义了所有Java对象的通用行为。Object类中包含了许多常用的方法,例如toString()、equals()等。本文将详细讲解Object类的使用。 Object类的通用方法 toString() toString()方法用于返回…

    Java 2023年5月26日
    00
  • 如何实现线程安全?

    以下是关于如何实现线程安全的完整使用攻略: 如何实现线程安全? 线程安全是指在多线程环境下,共享资源的访问不会出现数据不一致或者数据污染的问题。为了实现线程安全,可以采取以下措施: 1. 使用同步机制 同步机制是指在多线程环境下,通过加锁的方式来保证共享资源的访问顺序,从而避免数据不一致的问题。常见的同步机制包括 synchronized 关键字、Reent…

    Java 2023年5月12日
    00
  • SpringMVC form标签引入及使用方法

    下面是关于“SpringMVC form标签引入及使用方法”的完整攻略。 引入form标签库 首先,需要在JSP页面中引入 SpringMVC 的 form 标签库,代码如下: <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form&qu…

    Java 2023年6月15日
    00
  • C#调用Java类的实现方法

    C#可以调用Java类的实现方法主要有以下三种: 使用Java Native Interface(JNI) JNI是Java所自带的一种机制,它提供了本地应用程序与Java虚拟机之间交互的能力。具体实现过程如下: 先编写Java类 将Java类编译成动态链接库 在C#中通过DllImport导入动态链接库(导入时需要显式指定Java虚拟机的路径) 调用Jav…

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