最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

Spring Web Flow 增强 JSF 导航和状态

  • 2007-04-26
  • 本文字数:1189 字

    阅读完需:约 4 分钟

长期以来,对 Java Server Faces 的导航支持的抱怨就没有停止过。去年秋天,Ignacio Coloma 在博客中记录了他的沮丧

……入门确实简单:组件 / 表现器(renderer)/ 验证器 / 转换器模型非常清晰,并且很容易上手和运行。验证模型工作起来就像是魔法,JSP 页面非常小,你可以立马得到一个可工作的应用骨架。接着将页面链接起来,于是地狱开始了……

上周,著名 Web 应用开发者 Matt Raible 在他的博客中关于 JSF 有类似的评论

……如果你准备开始使用 JSF,我强烈推荐 Facelets 或 Shale/Seam……Shale 和 Facelets 有 2 个问题——这些项目的活跃程度很低。Shale 的创建者们还在守护着它,因此即使它很少被使用,你仍然可能得到你问题的答案。然而,Facelets 似乎正遭受着“被开发者遗弃”的惨境。 结论:不要因为 JSF 是“标准”就简单地去使用它。要使用其它开发更活跃,并且专为 Web 而设计的框架。就基于组件的框架来说,最流行的是 Tapestry 和 Wicket, RIFE 和 Click 次之。如果你仍然想用 JSF,你可能应该使用 Seam,但是,不要因为 JSF 是“标准”就简单地使用它。

几家公司正积极地着手于修改和增强 JSF,然而使用的是基于JSF 的JBoss Seam Spring Web Flow 提供的对 JSF 的支持。最近,来自 Interface21 的 Keith Donald 的 Spring Web Flow 与 JSF 集成详解提供了一个实现导航逻辑和管理应用程序状态的更好模型:

作为 JSF 的扩展,Spring Web Flow 负责导航规则和管理与用户交互相关联的状态(亦称会话,conversations)。JSF 开发人员可以从这个增强的导航模型中获益。概括地说,Web Flow 增加了: > - 无需服务器重启,即可动态改变导航规则;

  • 流程定义语言内建了完整的前进、后退、刷新、重定向和递归导航能力;
  • 通过流程定义概念,模块化和封装导航逻辑。

为适应状态管理的需要,除了 JSF 标准的 Request、Session 和 Application,Web Flow 增加了会话(conversation)、闪存(flash)和流程(flow)状态。

Donald 文章的评论中 Matt Raible 写道:

……我认为 Interface21 和 JBoss 都在 JSF 问题的解决方案上投入很多是一种很有趣的现象。难道通过支持 JSF 可以获得很多钱?实际上,你会喜欢这两家公司所做的事情:他们正在构建克服 JSF 短处的解决方案,并且将他们的解决方案免费地回馈给社区。更酷的是,两家公司正视图将他们的解决方案集成进下一版本的 JSF。就我个人观点,这将使每个人受益……

查看英文原文: Spring Web Flow Enhances JSF Navigation and State


译者简介:胡键,自 2000 年西安交通大学硕士毕业后一直从事软件开发。2002 年开始使用 Java,在项目开发中经常采用 OpenSource 工具,如 Ant、Maven、Hibernate、Struts 等,目前正在研究信息集成方面的规范和技术。可以通过 jianhgreat AT hotmail.com 与他联系,或访问博客: http://foxgem.javaeye.com/ 。为 InfoQ 中文站贡献内容,请邮件至 china-editorial@infoq.com

2007-04-26 07:45806
用户头像

发布了 255 篇内容, 共 54.5 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

9.《重学 JAVA》-- 控制语句(一)

杨鹏Geek

Java 25 周年 28天写作 12月日更

设计消息队列存储消息数据的 MySQL 表格

胡颖

Java代理设计模式(Proxy)的四种具体实现:静态代理和动态代理

Jerry Wang

Java 设计模式 代理模式 28天写作 12月日更

当诗人遇到熟读2600亿中文参数的大模型

白洞计划

「如何从0到1实现一个基于vite的前端基础库👾」

速冻鱼

前端 Node 签约计划第二季 12月日更

[Pulsar] Batch message的确认

Zike Yang

Apache Pulsar 12月日更

想象与实践的过程

Nydia

Android Lottie 中秋月饼变明月动画特效

阿策小和尚

28天写作 Android 小菜鸟 12月日更

Eureka基础

李子捌

微服务 28天写作 12月日更

Helm 快速入门

xcbeyond

Helm 28天写作 12月日更

团队基建系列 - 组织知识传承 5 底层逻辑

搬砖的周狮傅

团队 团队成长

设计模式【5】-- 原型模式

秦怀杂货店

Java 编程 设计模式 原型模式

Spring AOP(二) 修饰者模式和JDK Proxy

程序员历小冰

spring Java、 28天写作 spring aop 12月日更

Prometheus Exporter (二十二)Infiniband Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Infiniband

Maven进阶(四):Maven 常用命令

No Silver Bullet

maven 12月日更

zookeeper的数据同步是如何完成的?

卢卡多多

zookeeper 28天写作 12月日更

在线将JS/JavaScript-Object转JSON工具

入门小站

工具

设计电商秒杀系统

Rabbit

聊聊今天 log4j 的大瓜

Justin

漏洞 闲聊 28天写作

Volatile 原理(二)

悟空聊架构

volatile 28天写作 可见性 悟空聊架构 12月日更

你只认识大众汽车的车标怎么能行?赶紧用python采集所有车标学习一下

梦想橡皮擦

12月日更

中小型研发团队的一种考核思路

wood

团队管理 28天写作 研发考核

hmily学习笔记

风翱

12月日更 Hmily

你不得不掌握的前端提交规范(git cz)

你好bk

JavaScript 前端 代码注释 代码规范 12月日更

.NET内存管理必备知识

喵叔

28天写作 12月日更

解决:standard_init_linux.go:219: exec user process caused

liuzhen007

28天写作 12月日更

RPC学习笔记

风翱

RPC 12月日更

Redis持久化策略——AOF

蝉沐风

redis 持久化 aof

JavaScript 中8 个最佳电子邮件库

devpoint

JavaScript nodejs 12月日更 email pop3

【分布式技术专题】「分布式ID系列」百度开源的分布式高性能的唯一ID生成器UidGenerator

洛神灬殇

唯一ID 12月日更 UidGenerator 服务ID 百度技术

升级你的高手秘籍,在找到规律的同时,你需要把时间整个明白。

叶小鍵

Spring Web Flow增强JSF导航和状态_Java_Scott Delap_InfoQ精选文章