开源框架:Structs2.0入门学习(3)

简介: 欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 Struts 2.0的Action讲解   Struts 1.x Stuts 2.

Struts 2.0Action讲解

 

Struts 1.x

Stuts 2.0

接口

必须继承org.apache.struts.action.Action或者其子类

无须继承任何类型或实现任何接口

表单数据

表单数据封装在FormBean

表单数据包含在Action中,通过GetterSetter获取

structs2.0中更多的像JAVABEAN实现一样的哦!
虽然,理论上 Struts 2.0 Action 无须实现任何接口或继承任何类型,但是,我们为了方便实现 Action ,大多数情况下都会继承 com.opensymphony.xwork2.ActionSupport 类,并重载( Override )此类里的 String execute() 方法。具体的实现

当请求
HelloWorld.action 发生时, Struts 运行时( Runtime )根据 struts.xml 里的 Action 映射集 (Mapping) ,实例化 tutoiral.HelloWorld 类,并调用其 execute 方法。
通过XML文件进行映射到一个Action类!

SUCCESS在接口com.opensymphony.xwork2.Action中定义,另外同时定义的还有ERROR, INPUT, LOGIN, NONE

所以在Excute 中会返回一个这样的值来的return ERROR ;

程序无非就是输入、操作和输出。因此,现在我们要讨论一下输入——表单输入。

使用Struts 2.0,表单数据的输入将变得非常方便,和普通的POJO一样在Action编写GetterSetter,然后在JSPUI标志的name与其对应,在提交表单到Action时,我们就可以取得其值。

在BEAN中将属性的名字与JSP中的属性名一样的话就可以通过GET SET来处理了!

OK,我刚写了一个登录的示例出来代码分析一下吧!
1.填写表单输入信息






用到了UI标签的哦!
提交到一个Action的!


   
   
       
            /HelloWorld.jsp
             
   

上面是一个XML配置文件!
struts.xml

    /HelloWorld.jsp

提交到这个Action了!
其实就是找到一个类文件中去!
public class HelloWorld extends ActionSupport {
需要实现一个方法!
在HelloWorld.jsp中只需要引用这个BEAN中的一个属性就可以了的!


表示显示出来这个属性
《我明白了JAVABEAN中的属性的概念就是对应于JSP中的这个标签的哦!》
所以通过JAVABEAN不需要手工写setProperty方法的哦!

如果想与Response,Request对象打交道的 话怎么做呢?

Strutx 2.0你可以有两种方式获得这些对象:非IoC(控制反转Inversion of Control)方式和IoC方式。

  1. IoC方式

要获得上述对象,关键Struts 2.0com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前Action的上下文对象。 另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。


o                              HttpServletRequest request = ServletActionContext.getRequest();

o                              HttpServletResponse response = ServletActionContext.getResponse();

o                              HttpSession session = request.getSession();

如果你只是想访问session的属性(Attribute),你也可以通过ActionContext.getContext().getSession()获取或添加session范围(Scoped)的对象。



国际化Struct2.0技术!
目录
相关文章
|
Java 程序员 应用服务中间件
【推荐】深入浅出学习Spring框架【上】
【推荐】深入浅出学习Spring框架【上】
53 0
|
2月前
|
消息中间件 Java 测试技术
Goim框架的源码学习笔记
Goim框架的源码学习笔记
|
5月前
|
负载均衡 监控 安全
SpringCloud框架的入门教程
Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。
90 2
|
存储 监控 Java
【推荐】深入浅出学习Spring框架【中】
【推荐】深入浅出学习Spring框架【中】
35 0
|
前端开发 Java Apache
框架介绍 | 学习笔记
快速学习框架介绍,介绍了框架介绍系统机制, 以及在实际应用过程中如何使用。
框架介绍 | 学习笔记
|
Java 开发者
框架开始 | 学习笔记
快速学习框架开始,介绍了框架开始系统机制, 以及在实际应用过程中如何使用。
|
Web App开发 Java Spring
第12章 使用Kotlin开发Web应用《Kotin 编程思想·实战》
第12章 使用Kotlin开发Web应用 12.1 Kotlin集成Spring Boot开发Web应用 12.1.1 Spring Boot简介 12.
1571 0
|
存储 JSON Java
深入浅出FlatBuffers原理
FlatBuffers 是一个开源的、跨平台的、高效的、提供了多种语言接口的序列化工具库。实现了与 Protocal Buffers 类似的序列化格式。主要由 Wouter van Oortmerssen 编写,并由 Google 开源。本文将基于高德地图数据编译增量发布使用了FlatBuffers序列化工具,为大家分享FlatBuffers的原理。
深入浅出FlatBuffers原理
|
SQL 安全 数据库
【快速入门ORM框架之Dapper】大牛勿进系列
原文:【快速入门ORM框架之Dapper】大牛勿进系列 前言:dapper是什么?Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。
1533 0
下一篇
无影云桌面