开源框架: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技术!
目录
相关文章
|
6月前
|
Java 程序员 应用服务中间件
【推荐】深入浅出学习Spring框架【上】
【推荐】深入浅出学习Spring框架【上】
38 0
|
6月前
|
存储 监控 Java
【推荐】深入浅出学习Spring框架【中】
【推荐】深入浅出学习Spring框架【中】
26 0
|
11月前
|
SQL 存储 关系型数据库
开源 Golang 微服务入门三:ORM 框架 GORM| 青训营笔记
GORM 是面向 Golang 语言的一种 ORM(持久层)框架,支持多种数据库的接入,此框架弱化了开发者对于 SQL 语言的掌握程度,使用提供的 API 进行底层数据库的访问。使用提供的 API 进
118 0
开源 Golang 微服务入门三:ORM 框架 GORM| 青训营笔记
|
前端开发 JavaScript 算法
如何学习一个框架
那么我们如何正确的学习一个框架,什么时候该看源码,学到什么程度再看源码呢?
92 0
如何学习一个框架
BackboneJs入门学习[07]—Collection实践
BackboneJs入门学习[07]—Collection实践
128 0
BackboneJs入门学习[07]—Collection实践
|
算法 机器学习/深度学习
|
关系型数据库 Java 程序员
|
Java 数据库连接 数据库