杨小邪的空中楼阁

Struts 2 标签(三)

前两节我们复习了Struts2的数据标签、流程管理标签以及其他标签,本节将学习Struts2的UI组件标签。每一个UI组件都是一个功能单元,用户通过UI组件与应用程序交互、向应用程序输入数据。每一个Struts 2 UI组件的核心都是一个HTML表单控件。但是不要误解,这些组件不仅仅是一个输出HTML输入元素的标签,它们是高层组件,其中的HTML元素只是在浏览器中的表现。UI组件构建在一个分...

Struts 2 标签(二)

本节将学习Struts2标签库的详细内容,包括数据标签,流程控制标签和其他标签。 1.数据标签 数据标签能从ValueStack上取得数据,或者将变量、对象放在ValueStack上。本小节将讨论property、set、push、bean和action标签,并演示这些标签的常见用例。 1.1 property标签 property标签提供了一种将属性写入呈现的HTML页面的快速、方...

Struts 2 的数据转移和类型转换机制(二)

本节将讲述Struts2内建的类型转换器的具体细节。通过配置,Struts2框架能够处理几乎所有你可能需要的类型转换。 1.内建的类型转换器 1.1 立即可用的类型转换器 Struts2框架自带了对HTTP本地字符串和以下列出的Java类型之间转换的内建支持。 ■ String—有时候字符串就是字符串。 ■ boolean/Boolean—true和false字符串可以被转换为Boo...

Struts 2 标签(一)

在讲解Struts2标签库之前,本节将首先关注数据通过Struts2标签API离开框架的环境下的OGNL表达式语言。我们会浏览OGNL表达式的语法,并研究它可以取出数据的位置,尤其要深入研究ValueStack和ActionContext。 1.入门 当一个请求到达框架时,Struts2首先要做的事情是创建存储请求的所有重要数据的对象。应用程序的特定领域数据(使用标签最常访问的数据)会存...

Struts 2 的数据转移和类型转换机制(一)

在实际的开发中的大部分情况,Struts2框剪已经非常好的自动完成了数据转移和类型转换任务。然而若想进一步提高我们的能力,花一点时间和精力来学习数据转移和类型转换究竟是如何工作的将是必要的。也许你已经学会了在简单的情况下如何利用自动数据转移,然而在面临更加复杂的Java端类型(例如Map和List)时,将怎样编写代码呢?本节内容正是要解答上述疑问的。 1.数据转移和类型转换:Web应用程序...

Struts 2 拦截器(二)

1.声明拦截器 XML是声明拦截器的唯一选择,注解机制现在还不支持声明拦截器。 1.1 声明独立的拦截器和拦截器栈 通常,拦截器声明包含声明可用的拦截器并把它们与应该触发的动作关联起来。像所有框架组件的声明一样,拦截器的声明必须在package元素内部。以下是struts-default.xml文件中struts-default包的各个拦截器的声明: <packag...

Struts 2 拦截器(一)

从开发人员日常工作的角度来看,动作组件可能是框架的核心和灵魂,然而在后台工作的默默无闻的拦截器却可以说是真正的英雄——拦截器负责完成了框架的大部分处理工作。 1.拦截请求的意义 1.1 清理MVC 拦截器消除了动作组件中的横切任务。日志记录功能是典型的横切任务,它不是某一个动作所特有的,而是横向关联所有动作。作为软件工程师,我们会把这个任务提到更高的层面,让它处在任何需要日志记录的请求...

Action of Struts 2

Struts2是一个面向动作的框架,Action是它的核心。 1.Struts2中Action的作用 封装业务单元 为数据转移提供场所 为结果选择路由 2.使用包(package)机制将Action分组 包是一种逻辑容器,想Java的包一样,它提供了一种基于功能或者领域的共性将action组件分组。包级别上定义的URL可用来映射到动作;此外它还具有继承的特性,你能够继承框架已经定义好...

Hello Struts 2

本文主要复习Struts2的两种声明性架构: 基于xml的声明性架构; 基于java注解的声明性架构. 需要的jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar commons-logging-api-1.1.jar freemarker-2...

简明 Python 教程笔记(下)

今天星期一,周末综合症发作,头痛不行,下班后休息了一会终于活了过来。继续上篇的笔记吧。 1. 类 1.1 类的定义 class Person: pass # 空表达式 p = Person() print p 1.2 类的方法 class Person: def sayHi(self): print 'Hello, how are you?' ...