whatsnew.md 10.0 KB
Newer Older
茶陵後's avatar
茶陵後 已提交
1
# 2. 最新更新
dallascao's avatar
dallascao 已提交
2

茶陵後's avatar
茶陵後 已提交
3
## 2.1. Spring Web 流 2.5
dallascao's avatar
dallascao 已提交
4

茶陵後's avatar
茶陵後 已提交
5
这个版本提供了一条到 Spring Framework5 的升级路径,而这条路径又需要 Java8+、 Servlet 3.1、 Hibernate 5、Tiles3.有关更多详细信息,请参见[Spring Framework wiki](https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-5.x)[样品库](https://github.com/spring-projects/spring-webflow-samples)已升级到 Spring Web 流 2.5.
dallascao's avatar
dallascao 已提交
6 7 8 9 10

从 2.5 开始,不再有*spring-js*模块。该模块中的类已被保留,但已转移到*spring-webflow*模块中的新包中。*spring-js-resources*模块作为一个可选模块是可用的,必须显式地包含该模块。

此版本需要 JSF2.2 或更高版本。

茶陵後's avatar
茶陵後 已提交
11
## 2.2. Spring Web 流 2.4
dallascao's avatar
dallascao 已提交
12

茶陵後's avatar
茶陵後 已提交
13
这个版本需要 JDK1.6.
dallascao's avatar
dallascao 已提交
14

茶陵後's avatar
茶陵後 已提交
15
### 2.2.1.基于 Java 的配置
dallascao's avatar
dallascao 已提交
16 17 18 19 20

Web Flow 现在支持基于 Java 的系统配置替代方案。参见更新的[第 10 章,* 系统设置 *](system-setup.html)

还请参见[Booking-MVC](https://github.com/spring-projects/spring-webflow-samples/tree/master/booking-mvc)[预订脸](https://github.com/spring-projects/spring-webflow-samples/tree/master/booking-faces)示例,这些示例已更新为使用所有 Java 配置。

茶陵後's avatar
茶陵後 已提交
21
### 2.2.2. Spring MVC 闪存范围集成
dallascao's avatar
dallascao 已提交
22 23 24 25 26

当一个流结束时,在将属性保存在 Spring MVC 的闪存范围中供控制器访问后,它现在可以重定向到 Spring MVC 控制器。

[第 11.8 节,“将流输出保存到 MVC 闪存范围”](spring-mvc.html#spring-mvc-flash-output)

茶陵後's avatar
茶陵後 已提交
27
### 2.2.3.部分 JSR-303 Bean 验证
dallascao's avatar
dallascao 已提交
28 29 30 31 32

流定义可以通过 View State 和 Transition 元素支持的 Validation-Hints 属性在模型上应用部分验证。

[该部分被称为“部分验证”。](views.html#view-validation-jsr303-partial)

茶陵後's avatar
茶陵後 已提交
33
### 2.2.4. Hibernate 支持
dallascao's avatar
dallascao 已提交
34

茶陵後's avatar
茶陵後 已提交
35
除了 Hibernate 3 之外,`HibernateFlowExecutionListener`现在还支持 Hibernate 4.
dallascao's avatar
dallascao 已提交
36 37 38

截至 2.4.4,`HibernateFlowExecutionListener`也与 Hibernate 5 起作用。

茶陵後's avatar
茶陵後 已提交
39
### 2.2.5.磁贴 3 支持
dallascao's avatar
dallascao 已提交
40

茶陵後's avatar
茶陵後 已提交
41
现在`AjaxTilesView`除了支持 tile2.2 外,还支持 tile3.
dallascao's avatar
dallascao 已提交
42

茶陵後's avatar
茶陵後 已提交
43
### 2.2.6.最低 JSF2.0 要求
dallascao's avatar
dallascao 已提交
44 45 46 47 48

Spring Web Flow 不再支持 Java ServerFaces 版本 1.2 和更早版本,如果你还没有这样做,你将需要升级到 JSF2.0 或更高版本。此外,在这个版本中,已经删除了以前通过 JSF1.2 提供的用于渐进 Ajax 增强的 Spring 面组件。

[???]()。

茶陵後's avatar
茶陵後 已提交
49
### 2.2.7.Portlet API2.0 和 JSF2.0 支持
dallascao's avatar
dallascao 已提交
50 51 52

Spring Web Flow2.2 中引入的内部 Portlet 集成已经进行了升级,以实现 JSF2.0 的兼容性。Portlet 环境不支持一些更高级的 JSF2.0 特性,例如部分状态保存,但是,现有的应用程序现在可以升级到所需的最低 JSF 版本。升级后的项目将需要确保`<faces:resources>`元素被包括在其 Spring 配置中。

茶陵後's avatar
茶陵後 已提交
53
### 2.2.8.异议
dallascao's avatar
dallascao 已提交
54 55 56 57 58

此版本删除*Spring.js*。该版本包括整个 * Spring-js-resources* 模块,包括*Spring.js** Spring-dojo.js* 以及捆绑的 Dojo 和 CSS 框架。同样不推荐的是来自*spring-js*模块的`SpringJavascriptAjaxHandler`*spring-js*的其余部分,例如`AjaxHandler``AjaxTilesView`,将在未来的版本中折叠成*spring-webflow*

OGNL 支持现在已被弃用。

茶陵後's avatar
茶陵後 已提交
59
## 2.3. Spring Web 流 2.3
dallascao's avatar
dallascao 已提交
60

茶陵後's avatar
茶陵後 已提交
61
### 2.3.1.在页面上嵌入流
dallascao's avatar
dallascao 已提交
62 63 64

默认情况下,WebFlow 在进入每个视图状态时都会进行客户端重定向。这使得不可能在页面或模态对话框中嵌入流并执行多个视图状态,而不会导致整页刷新。Web Flow 现在支持以“嵌入式”模式启动一个流。在这种模式下,在 Ajax 请求期间,流可以转换到其他视图状态,而无需客户端重定向。见[第 11.7 节,“在页面上嵌入流”](spring-mvc.html#spring-mvc-embedded-flow)[第 13.6 节,“在页面上嵌入流”](spring-faces.html#spring-faces-embedded-mode)

茶陵後's avatar
茶陵後 已提交
65
### 2.3.2.支持 JSR-303 Bean 验证
dallascao's avatar
dallascao 已提交
66 67 68

对 JSR-303 Bean 验证 API 的支持现在可以在 Spring MVC 中提供的等效支持的基础上获得。有关更多详细信息,请参见[第 5.10 节,“验证模型”](views.html#view-validate)

茶陵後's avatar
茶陵後 已提交
69
### 2.3.3.流管理的持久性上下文传播
dallascao's avatar
dallascao 已提交
70 71 72

从 Web 流 2.3 开始,管理的流`PersistenceContext`将自动扩展(传播)到子流,假设子流也具有启用的特性。见[第 7.3 节,“流管理的持久性和子流”](flow-managed-persistence.html#flow-managed-persistence-propagation)

茶陵後's avatar
茶陵後 已提交
73
### 2.3.4.Portlet2.0 资源请求
dallascao's avatar
dallascao 已提交
74 75 76

现在已经添加了对 Portlet2.0 资源请求的支持,从而支持部分呈现的 Ajax 请求。可以在 JSP 页面中使用`<portlet:resourceURL>`标记来准备此类请求的 URL。服务器端处理类似于一个动作和一个呈现请求的组合,但合并在一个请求中。与呈现请求不同,来自资源请求的响应仅包括来自目标 Portlet 的内容。

茶陵後's avatar
茶陵後 已提交
77
### 2.3.5.自定义对话管理器
dallascao's avatar
dallascao 已提交
78 79 80

现在,`<flow-execution-repository>`元素提供了一个 conversation-manager 属性,该属性接受对 Conversationmanager 实例的引用。

茶陵後's avatar
茶陵後 已提交
81
### 2.3.6.在相同的状态下重定向
dallascao's avatar
dallascao 已提交
82 83 84

默认情况下,只要当前请求不是 Ajax 请求,在保持相同视图状态时,Web 流就会执行客户端重定向。这在表单验证失败后很有用。点击刷新或返回不会导致浏览器警告。因此,这种行为通常是可取的。然而,一个新的流执行属性使得禁用它成为可能,这在某些特定于 JSF 应用程序的情况下也是必要的。见[第 13.7 节,“在同一状态下重定向”](spring-faces.html#spring-faces-redirect-in-same-state)

茶陵後's avatar
茶陵後 已提交
85
### 2.3.7.样本
dallascao's avatar
dallascao 已提交
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

建立分布所包括的样本的过程已经简化。 Maven 可用于在一个步骤中构建所有样本。Eclipse 设置包含源代码引用以简化调试。

可按以下方式获取更多样本:

```
mkdir spring-samples
cd spring-samples
svn co https://src.springframework.org/svn/spring-samples/webflow-primefaces-showcase
cd webflow-primefaces-showcase
mvn package
# import into Eclipse

```

```
mkdir spring-samples
cd spring-samples
svn co https://src.springframework.org/svn/spring-samples/webflow-showcase
cd webflow-showcase
mvn package
# import into Eclipse

```

茶陵後's avatar
茶陵後 已提交
111
## 2.4. Spring Web 流 2.2
dallascao's avatar
dallascao 已提交
112

茶陵後's avatar
茶陵後 已提交
113
### 2.4.1.JSF2 支持
dallascao's avatar
dallascao 已提交
114

茶陵後's avatar
茶陵後 已提交
115
#### 全面的 JSF2 支持
dallascao's avatar
dallascao 已提交
116 117 118 119 120

Spring Web Flow2.2 版本以 2.1 为基础,增加了对核心 JSF2 特性的支持,2.1 中不支持的以下特性现在可用:部分状态保存、JSF2 资源请求、处理和 JSF2Ajax 请求。在这一点上,对 JSF2 的支持被认为是全面的,尽管并不涵盖所有的 JSF2 特性--排除的主要是与 Web 流提供的核心价值重叠的特性,例如与导航和状态管理有关的特性。

有关重要的配置更改,请参见[第 13.3 节,“配置用于 JSF 的 Web 流”](spring-faces.html#spring-faces-webflow-config)。请注意,只支持 Sun Mojarra2.0.3 或更高版本的部分状态保存。它还没有得到 MyFaces 的支持。这是因为 MyFaces 在如何存储组件状态方面不那么容易定制。我们将与 MyFaces 合作提供这种支持。同时,你将需要在`web.xml`中使用`javax.faces.PARTIAL_STATE_SAVING`上下文参数来禁用 Apache MyFaces 的部分状态保存。

茶陵後's avatar
茶陵後 已提交
121
#### 带原始表面组件的旅行样本
dallascao's avatar
dallascao 已提交
122 123 124 125 126 127 128 129 130 131 132 133

演示 Spring Web 流和 JSF 支持的主要 Spring 旅行示例现在构建在 JSF2 和来自 PrimeFaces 组件库的组件上。请核对一下分配中的订货面样品。

可以在 Spring WebFlow-Prime Faces[Showcase](https://src.springframework.org/svn/spring-samples/webflow-primefaces-showcase)处找到其他示例,这是[spring-samples](https://src.springframework.org/svn/spring-samples)存储库中的一个 SVN 存储库。使用以下命令检查并构建:

```
svn co https://src.springframework.org/svn/spring-samples/webflow-primefaces-showcase
	cd webflow-primefaces-showcase
	mvn package
	
```

茶陵後's avatar
茶陵後 已提交
134
### 2.4.2. Spring 安全 Facelets 标记库
dallascao's avatar
dallascao 已提交
135 136 137

Spring 新的安全标记库可用于 JSF2.0 或 JSF1.2Facelets 视图。它提供了一个 \<authorize\>标记以及几个 EL 函数。有关更多详细信息,请参见[Section 13.9, “Using the Spring Security Facelets Tag Library”](spring-faces.html#spring-faces-security-taglib)

茶陵後's avatar
茶陵後 已提交
138
### 2.4.3. Spring JavaScript 更新
dallascao's avatar
dallascao 已提交
139

茶陵後's avatar
茶陵後 已提交
140
#### 弃用资源 servlet
dallascao's avatar
dallascao 已提交
141 142 143

从 Spring 3.0.4 开始, Spring 框架包括对 ResourcesServlet 的替换。请参阅 Spring 框架文档了解定制 MVC 名称空间的详细信息,特别是新的[“资源”](http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-static-resources)元素。

茶陵後's avatar
茶陵後 已提交
144
#### Dojo1.5 和 Dojox
dallascao's avatar
dallascao 已提交
145 146 147 148 149

捆绑的定制 Dojo 版本升级到了 1.5 版本。它现在包括 Dojox。

请注意,通常鼓励应用程序准备自己的定制 Dojo 构建以优化性能,这取决于 Dojo 的哪些部分通常一起使用。有关示例,请参见 Spring Web 流用于准备自己的定制 Dojo 构建的[scripts](https://src.springframework.org/svn/spring-webflow/branches/spring-webflow-2.2-maintenance/spring-js-resources/scripts/dojo)

茶陵後's avatar
茶陵後 已提交
150
#### 两个 Spring JS 工件
dallascao's avatar
dallascao 已提交
151 152 153 154 155

`spring-js`工件被一分为二--新工件(`spring-js-resources`)包含客户端资源(.js、.css 等),而现有工件(`spring-js`)仅包含服务器端 Java 代码。

准备自己的定制 Dojo 构建的应用程序现在有一个选项,可以避免将`spring-js-resources``Spring.js`直接放在其 Web 应用程序的根下面。

茶陵後's avatar
茶陵後 已提交
156
#### 客户端资源移至 meta-inf/web-resources
dallascao's avatar
dallascao 已提交
157 158 159

捆绑的客户机资源(.js、.css 等)已从其先前位于`META-INF`下的位置移到`META-INF/web-resources`。这种变化对于应用程序是透明的,但是当使用 Spring 3.0.4 中提供的新的资源处理机制时,将导致更简单和更安全的配置。

茶陵後's avatar
茶陵後 已提交
160
### 2.4.4.JSF Portlet 支持
dallascao's avatar
dallascao 已提交
161

茶陵後's avatar
茶陵後 已提交
162
#### Portlet API2.0 和 JSF1.2 支持
dallascao's avatar
dallascao 已提交
163 164

在 Spring 以前的版本中,对 JSF Portlet 的 Web 流支持依赖于用于 JSF 实现的 Portlet 桥,并且被认为是实验性的。 Spring Web Flow2.2 基于其自身的内部 Portlet 集成,增加了对 JSF Portlet 的支持,该集成以 Portlet API2.0 和 JSF1.2 环境为目标。有关更多详细信息,请参见[???]()。 Spring Web Flow Travel JSF Portlet 示例已经在 Apache Pluto Portal 容器上成功地进行了测试。