`
ye_haiqiang
  • 浏览: 88172 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Struts 2 核心技术----搭建过程以及一个实例(2)

阅读更多

 

接上!Struts 2 核心技术----搭建过程以及一个实例(1)

 

三、使用Action类控制导航业务数据

Struts2Action充当着一个关键角色。它解决了如何把JSP页面上的数据,根据实际开发项目中具体的业务逻辑,来进行处理的问题。

技术要点:

1、如何调用execute方法处理业务逻辑

2、如何处理form表单数据

3、HTTPsession对象在Action的主要使用方式

4、ActionMapping对象配置文件中的处理流程

 

Eg

LoginAction是一个负责登录的类,主要处理登录过程中用户属性的处理,如获取用户名和密码。代码如下:

package struts.action;

 

import com.opensymphony.xwork2.ActionContext;

 

public class LoginAction 

{

 

//Action类公共私有变量,用来做页面导航标志

private static String FORWORD=null;

 

//用户名

private String username;

 

//密码

private String password;

 

//获取用户名

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;

}

 

public String execute()

{

 

//JSP页面输入的值

username=getUsername();

password=getPassword();

 

//判断输入是否是空对象或者没输入

if(username!=null && !username.equals("") && password!=null && !password.equals(""))

{

ActionContext.getContext().getSession().put("user"username);

FORWORD="success";

}

else

{

FORWORD="input";

}

 

return FORWORD;

}

 

 

}

Action类映射配置通过struts.xml文件来完成,具体如下:

  <action name="Login" class="struts.action.LoginAction">

  <result name="input">/login.jsp</result>

  <result name="success">/index.jsp</result>

  </action>

四、使用ActionSupport进行校验

 

如果from数据操作有误,比如输入的不是所需要的数据,或者没有输入等原因,action实例执行execute方法前会使用校验进行控制。

技术要点:

1、Action类中ActionSupport使用,以及validate方法的重写实现。

2、属性文件messageResource.properties定义,以及JSP页面上的错误信息如何显示。

3、导航结果显示。

 

代码如下EG

LoginAction.java文件

package struts.action;

 

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends  ActionSupport

{

 

//Action类公共私有变量,用来做页面导航标志

private static String FORWORD=null;

 

//用户名

private String username;

 

//密码

private String password;

 

//获取用户名

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;

}

 

public String execute()

{

 

//JSP页面输入的值

username=getUsername();

password=getPassword();

 

//判断输入是否是空对象或者没输入

if(username!=null && !username.equals("") && password!=null && !password.equals(""))

{

ActionContext.getContext().getSession().put("user"username);

FORWORD="success";

}

else

{

FORWORD="input";

}

 

return FORWORD;

}

 

//校验方法,用来校验输入值为空或者没有输入返回错误信息

public void validate()

{

if(getUsername()==null || getUsername().trim().equals(""))

{

//返回错误信息键值,user.required包含具体内容见messageResource.properties

addFieldError("username",getText("user.required"));

}

if(getPassword()==null || getPassword().trim().equals(""))

{

//返回错误信息键值,user.required包含具体内容见messageResource.properties

addFieldError("password",getText("pass.required"));

}

}

}

 

Struts.properties文件

#支持本地化的资源文件名定义

struts.custom.i18n.resources=messageResource

 

messageResource.properties文件

#用key=value格式定义页面上显示的内容

user.required=请输入用户名!

pass.required=请输入密码!

 

补充,大家遇到问题有两个:

一个是struts2 标签使用异常 The Struts dispatcher cannot be found.-----原因是web.xml配置文件有误!

另一个是字符集问题-----改变下文件的字符!(文件属性)

每天一点点希望对大家有利!

分享到:
评论

相关推荐

    搭建SSH框架需要引入的Struts2包(log4j,spring-web,struts2-spring-plugin)

    在构建SSH框架时,每个框架都扮演着不同的角色,以提供一个高效、可扩展的后端架构。现在我们来详细了解一下搭建SSH框架过程中,这三个关键组件以及所提及的包的作用。 首先,Struts2作为MVC(模型-视图-控制器)...

    struts2经典实例

    `struts2-blank-2.0.1.war` 是一个基础模板,用于快速搭建新的Struts2项目。它包含了最小化的配置,帮助开发者了解如何开始一个新项目,以及如何添加自己的Action和视图。 5. **Struts2 Login** `Struts2_Login` ...

    struts-2.3.24-all_含有实例可用于环境搭建

    Struts2是Java Web开发中的一个非常重要的MVC框架,由Apache软件基金会维护。这个"struts-2.3.24-all"压缩包包含了Struts2框架的完整版本,适用于2.3.24版,是开发人员进行环境搭建和学习实践的理想资源。 Struts2...

    Struts综合实例--网上论坛BBS系统

    在"Struts综合实例--网上论坛BBS系统"中,我们将深入探讨如何使用Struts来开发一个实际的在线讨论平台,即BBS系统。 BBS,全称Bulletin Board System,是一种网络讨论平台,用户可以发布主题、回复他人的话题,进行...

    SSH2框架搭建实例源码

    总的来说,SSH2框架搭建实例是一个学习和理解Java Web开发的好素材。通过实践这个项目,开发者可以深入理解如何整合三大框架,以及如何利用它们来实现常见的业务功能。同时,这也是提升数据库操作、MVC设计模式和...

    Struts2权威指南--基于WebWork核心的MVC开发

    Interceptor是Struts2的一个重要创新,它允许在Action执行前后插入自定义逻辑,如日志、权限检查等。Result则定义了Action执行后的跳转策略,可以是页面、重定向或者其他动作。ValueStack是对象容器,它简化了模型...

    搭建EXTJS和STRUTS2框架(ext和struts2简单实例)

    本文档将详细介绍如何在Java Web项目中搭建EXTJS和STRUTS2框架,并通过一个简单的实例来展示如何使这两个技术协同工作。EXTJS是一个用于构建交互式前端界面的JavaScript库,而STRUTS2则是Java后端开发中的流行框架之...

    struts2搭建实例

    本教程将通过一个实例详细介绍如何搭建Struts2环境并创建一个简单的应用。 首先,我们需要准备以下工具和库: 1. **Java Development Kit (JDK)**:确保已安装JDK,并设置好环境变量JAVA_HOME。 2. **Apache ...

    Struts-2.3.16.1 -All

    Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。Struts2.3.16.1是该框架的一个特定版本,包含了丰富的功能和修复的安全更新。这个压缩包"Struts-2.3.16.1 -All...

    struts-2.3.36-all.zip

    Struts2是一个强大的Java web...通过这个压缩包,你可以搭建一个本地开发环境,进行实践操作,逐步掌握Struts2的使用和配置。同时,结合官方文档,可以深入学习框架的高级特性和最佳实践,提升你的Java web开发技能。

    struts2-spring-hibernate正和所需要的包

    这个压缩包"struts2-spring-hibernate正和所需要的包"包含了在整合这三个框架时必要的库文件,确保开发者可以快速搭建起一个完整的开发环境。 1. **Struts2**: Struts2是一个基于MVC设计模式的Web应用框架,它提供...

    struts-2.5.12-all

    这个"struts-2.5.12-all"压缩包包含了Struts2框架的完整集合,版本号为2.5.12,是Struts2发展过程中的一个重要版本。下面将详细解释Struts2框架的核心概念、功能特性以及在实际开发中的应用。 Struts2框架基于Model...

    Struts2+Spring演示实例源代码

    Struts2是一个强大的MVC(Model-View-Controller)框架,它为构建基于J2EE的Web应用程序提供了全面的解决方案。而Spring则是一个全方位的轻量级应用框架,不仅包括了IOC(Inversion of Control)和AOP(Aspect ...

    Struts 2综合应用实例——添加学生信息

    此实验旨在帮助学习者熟悉Struts 2的各种核心组件和技术,包括但不限于标签库、配置文件设置以及与数据库的交互过程。 #### 实验环境搭建 **1. 数据库准备** - 首先,我们需要在MySQL中创建一个名为`XSCJ`的数据库...

    struts2 struts2.0.9 实例 app下载

    Struts2是一个强大的Java web应用程序框架,用于构建和部署可维护、高性能的MVC(Model-View-Controller)架构的应用程序。它是在原有的Struts 1框架基础上发展起来的,旨在提供更优雅、灵活和可扩展的解决方案。...

    struts-2.3.16.1-docs.zip

    1. **快速入门**:这通常是一份简明教程,帮助开发者快速了解Struts2的基本概念和配置,如Action、Result、Interceptor等,并指导如何搭建第一个运行的Struts2应用。 2. **使用文档**:这部分详细介绍了如何在实际...

    struts2 例子和包

    1. **环境搭建**:首先需要在Eclipse中安装Struts2插件,然后创建一个新的Dynamic Web Project,添加Struts2库依赖。 2. **创建Action类**:编写Action类,继承自Struts2提供的抽象类或实现特定接口,如`...

    struts2-2.3.15.3-jar及mode

    这个压缩包包含了Struts2框架的核心组件及其依赖,主要用于帮助开发者搭建一个基于Struts2的开发环境。让我们详细了解一下其中的关键组件和用途。 1. **Struts2核心库(struts2-core-2.3.15.3.jar)** 这是Struts2的...

    Struts2简单实例

    本实例将向您展示如何在MyEclipse环境中搭建并运行一个基础的Struts2项目。 首先,我们需要了解Struts2的基本架构。Struts2的核心组件包括Action类、配置文件(struts.xml)、拦截器(Interceptors)和结果类型(Results...

Global site tag (gtag.js) - Google Analytics