`
luo86106
  • 浏览: 1364 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

2.Action的概念

 
阅读更多
一.如何开发Action
理论上Action组件不需要继承任何类,实现任何接口,他可以只是一个简单的Java对象。但Strut2还是提供了一些辅助工具。
1. 框架首先提供了一个可选的Action接口。

Pubic interface Action{
Public static final String ERROR=”error”;
Public static final String INPUT=”input”;
Public static final String LOGIN=”login”;
Public static final String NONE=”none”;
Public static final String SUCCESS=”success”;

Public string execute() throws Exception;
}


2. 另外,框架还提供了一个Action的组件的基类ActionSupport,在它实现了Action接口的同时,还实现了另外四个接口:Validateable和ValidationAware接口提供验证功能;TextProvider和LocaleProvide接口提供对本地化和国际化的支持。
二.Action做了什么事Action对web请求的处理包含以下步骤
1. 获取Web请求中的信息
2. 在execute方法中根据获取的Web请求信息进行业务逻辑处理。
3. 返回一个代表处理结果的字符串。
三.项目ActionDemo01,模拟登陆程序


Web.xml
<?xml version="1.0" encoding="GBK"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name></display-name>
    <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>
</web-app>




Login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
    <title>登陆</title>
  </head>
  
  <body>
  <h4>请输入你的用户名和密码:</h4>
  <s:form action="Login">
  		<s:textfield name="username" label="用户名"/>
  		<s:password name="password" label="密码" />
  		<s:submit label="登陆" />
  </s:form>
  </body>
</html>

Success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>登陆成功</title>
  </head>
  
  <body>
  <h4><s:property value="username"/>登陆成功</h4>
  </body>
</html>



Action
Login.java
package com.luocky.struts2Model;
import com.opensymphony.xwork2.ActionSupport;

public class Login extends ActionSupport {
	private static final long serialVersionUID = 1L;
	private String username;
	private String password;
	
	@Override
	public String execute(){
		if(username.equals(password)){
			return SUCCESS;
		}else{
			return INPUT;	
		}
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}
[/code>

Struts.xm;
<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
     <package name="default" namespace="/" extends="struts-default">
		<action name="Login" class="com.luocky.struts2Model.Login">
			<result name="success">/Success.jsp </result>
			<result name="input">/Login.jsp</result>
		</action>	
    </package>
</struts>
[/code>

执行过程中出现的问题:在Struts.xml中时,误写成
<result name="SUCCESS">/Success.jsp </result>
			<result name="INPUT">/Login.jsp</result>
时,出现找不到Action的错误

e]

  


  
分享到:
评论

相关推荐

    Struts2--3.Action及相关-1

    在这个主题“Struts2--3.Action及相关-1”中,我们将深入探讨Struts2的核心组件——Action类及其相关概念。Action类在Struts2中扮演着业务逻辑处理者的角色,它负责接收用户的请求,执行相应的业务操作,并返回结果...

    R.in.Action.2nd.Edition.2015.5.pdf

    2. 图形表示:R语言支持强大的图形功能,能够创建各种静态和动态的图表。包括基础的散点图、条形图、线图到高级的热图、网络图等,R语言都能提供各种自定义选项以满足研究和展示的需求。 3. 实用示例和教程:第二版...

    OAuth2.in.Action.2017.3.pdf

    - **页码范围**:本书涵盖内容丰富,从第1页到至少第119页,涉及OAuth2的基础概念到实践应用以及安全性问题。 #### 二、OAuth2简介与核心价值 **章节1:什么是OAuth2.0以及为什么你应该关心它?** - **定义**:...

    Manning.Struts.2.in.Action

    ### Struts 2 in Action — ...综上所述,“Manning.Struts.2.in.Action”是一本涵盖Struts 2框架各个方面的重要资源,从核心概念到高级主题均有涉猎。无论是初学者还是有经验的开发者,都能从中获得宝贵的指导和启示。

    OAuth.2.in.Action.pdf

    OAuth 2.0的核心概念包括四个主要角色:资源所有者、客户端、资源服务器和授权服务器。资源所有者是拥有数据的用户,客户端是需要访问这些资源的应用,资源服务器存储并提供资源,而授权服务器负责处理授权流程,...

    Struts.2.in.Action.May.2008

    2. **Interceptors(拦截器)**:拦截器是Struts 2框架中的一个重要概念,它们类似于AOP(面向切面编程)中的切面,可以在Action执行前后执行一些预定义的任务。拦截器链允许开发者定义一系列的处理步骤,如日志记录...

    Lucene.In.Action.2nd.Edition

    2. **索引创建**:学习如何将文本数据转换为可搜索的Lucene索引,包括分词、分析器的选择和使用,以及如何处理不同的数据类型。 3. **分析器(Analyzer)**:分析器在Lucene中扮演着关键角色,负责将输入文本转化...

    Manning.jQuery.In.Action.2nd.Edition.Jun.2010.eBook-ELOHiM

    - **基础概念**:本书首先介绍了jQuery的基本概念,包括选择器、DOM操作、事件处理等核心功能。通过一系列示例代码,帮助读者快速上手,理解jQuery的工作原理。 - **进阶技巧**:随着内容的深入,作者开始探讨更...

    Lucene.in.Action.2nd.Edition.pdf

    《Lucene in Action 第2版》是一本深入探讨Apache Lucene全文搜索引擎库的专业书籍,它在IT领域中具有广泛的影响,特别是在信息检索、文本分析和大数据处理方面。这本书详尽地介绍了Lucene的核心概念和技术,旨在...

    MongoDB.in.Action.2nd.Edition.2016.3.pdf

    本书内容覆盖了MongoDB的基础概念、安装配置、编程实践、高级特性以及系统管理和安全性等多个方面,为读者提供了丰富的知识体系和实用的操作技巧。无论是对于希望学习MongoDB的新手还是寻求提升技能的专业人士来说,...

    Manning.ASP.NET.MVC.2.in.Action.Jun.2010.pdf

    通过学习《ASP.NET MVC 2 in Action》,读者不仅能掌握ASP.NET MVC 2的核心概念和技术,还能了解到实际开发中的最佳实践,从而能够构建高效、灵活且易于维护的Web应用。这本书适合有.NET开发经验的开发者,尤其是...

    Manning.JUnit.in.Action.2nd.Edition.Jul.2010.pdf正式版

    ### 关于《JUnit in Action 第二版》的知识点解析 #### 一、书籍基本信息与概述 - **书名**:《JUnit in Action 第二版》 - **作者**:Petar Tahchiev, Felipe Leme, Vincent Massol, Gary Gregory - **出版社**:...

    Manning.DSLs.in.Action

    ### 基于《Manning.DSLs.in.Action》的知识点提炼 #### 一、书籍概览 本书《Manning.DSLs.in.Action》由Debasish Ghosh编写,Jonas Bonér作序,是一本关于领域特定语言(Domain-Specific Languages, DSLs)的专业...

    Manning.Ant.in.Action.2nd.Edition.Jul.2007.pdf

    2. **任务和目标**:讲解了Ant中的任务(task)和目标(target)的概念及其使用方法,这是Ant的核心特性之一。 3. **高级构建脚本**:探讨了如何编写复杂且高效的构建脚本来满足不同场景的需求,如多模块项目构建等...

Global site tag (gtag.js) - Google Analytics