- 浏览: 121694 次
- 来自: ...
-
文章分类
最新评论
需求是表单提交后, 转到另外一个已经存在的页面, 并在页面上方的空白处显示一条醒目的消息, 而且只显示一次 (刷新后这条消息不应该再出现).
对 Web 开发相当不熟, Pair说这需求类似 RoR里的 flash message, 问Java里有没有. 我们用SpringMVC + Velocity, 看了看文档, 问了问人, 短时间没有得到确定方案.
那就试一试吧, 明知几乎不可能成功, 还是写下了下面的代码:
- model.put("flashMessage","I'mstupid");
- returnnewModelAndView(newRedirectView("anotherPage"),model);
果然不行, model无法跨Controller. 那就放在Session里? 以我有限的Web经验, 应该可以, 问题是何时把它从Session中清除?
这应该是一个概念: 你放一个东西到Session里, 但你只能获得一次, 下次它就不存在了.
用类来表示概念, 我们只需在生成对象时把自己加到Session里, 在提供的获取函数中把自己从Session中移除, 那么第二次你就得不到它了.
- importjavax.servlet.http.HttpSession;
- publicclassThrowawayObject{
- privateHttpSessionsession;
- privateStringattribute;
- privateObjectvalue;
- publicThrowawayObject(HttpSessionsession,Stringattribute,Objectvalue){
- this.session=session;
- this.attribute=attribute;
- this.value=value;
- session.setAttribute(attribute,this);
- }
- publicObjectgetValue(){
- session.removeAttribute(attribute);
- returnvalue;
- }
- }
在 Controller 里, 只需:
- newThrowawayObject(session,"flashMessage","I'mStupid");
在 View 里, 这里是 velocity 模板:
- #if($flashMessage)
- <scriptlanguage="javascript">
- showNotificationMsg("$flashMessage.value")
- </script>
- #end
那么在 Spring MVC中实现这类功能的标准做法是什么样的? 其它Java Web 框架呢?
发表评论
-
The Object Primer
2004-12-11 11:21 6101,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 768错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 599前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 647前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 48814.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 661同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 627有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 661设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 688关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 720交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 635整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 812一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 764事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 871经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 780BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 7091, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 750读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 795十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 731Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 705Event BusinessWare是一个事件驱动的系统 ...
相关推荐
在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...
Rails 的设计理念之一是减少开发过程中的冗余工作,使得开发者能够以更少的代码量完成更多的功能实现。 #### 二、Ruby on Rails 的特点 1. **代码简洁**:Rails 通过提供一系列约定优于配置的原则简化了开发流程,...
描述中提到的Sidekiq.zip可能包含了一个Sidekiq的源码版本或者是Java环境下的实现或适配器,比如一个Java的Sidekiq客户端库,用于在Java应用中与Rails中的Sidekiq服务进行通信。 在Java应用中使用Sidekiq,我们可能...
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
- `rake rails:update`: 更新应用程序中的 scripts 和 public/javascripts 文件夹,使之与当前 Rails 版本保持一致。 - `rake rails:update:javascripts`: 仅更新 javascripts 文件夹。 - `rake rails:update:...
在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个Rails项目是开发的起点。你可以使用以下命令创建一个新的工程: ```bash rails new 工程名 ``` 这会生成一个包含所有...
Ruby on Rails印度尼西亚主页 该存储库是网站上内容的结果:地位一般说明不要忘记捆绑Gemfile资源: $ bundle install要构建源代码: $ jekyll build要查看源代码服务,请执行以下操作: $ jekyll serve您可以在耙上...
[Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...
Learn Web Development with Rails Clear EPUB version in English, Second Edition “The author is clearly an expert at the Ruby language and the Rails framework, but more than that, he is a working ...
标题 "Rails 集成Open Flash Charts" 涉及的是在Ruby on Rails框架中集成Open Flash Chart这一图表库的技术细节。Open Flash Chart是一个开源的Flash图表生成器,它允许开发者通过简单的API创建各种复杂的图表,包括...
java源码:Rails3消息队列系统 Sidekiq.zip
JRuby 是一种用 Java 实现的 Ruby 解释器,它允许 Ruby 代码在 Java 平台上运行,同时也支持 Ruby 代码调用 Java 库。JRuby 的出现使得 Ruby 与 Java 之间的界限变得模糊,为开发者提供了更多的选择和可能性。JRuby ...
Uri :: Js :: Rails Rails的 安装 将此行添加到您的应用程序的Gemfile中: gem 'uri-js-rails', :group => :assets 然后执行: $ bundle 或将其自己安装为: $ gem install uri-js-rails 用法 添加到您的...
flash-message-conductor, 在 Ruby on Rails 应用程序中,用于管理 Flash 消息的简单 Pattern Flash 消息导体用于在 Ruby on Rails 应用程序中管理 Flash 消息的简单 Pattern 。安装这个分支只用于 Rails 3 。 仍然...
《JRuby和Rails-让Ruby语言融入于Java项目》是一本深入探讨如何在Java环境中使用JRuby和Rails框架的教程。这本书旨在帮助开发者理解和实践如何将Ruby on Rails的灵活性和生产力引入到Java企业级开发中,从而提升软件...
### Flexible Rails: Flex3 on Rails2 #### 关于Flexible Rails 本书《Flexible Rails: Flex 3 on Rails 2》由Peter Armstrong撰写,旨在探讨如何结合使用Flex 3和Rails 2来开发高效的富互联网应用程序(Rich ...
它将在配置文件夹中创建client_variable.yml,此文件中的这些变量将与通过控制器定义的变量合并,并导出到客户端 #### client_variable.yml development : app_name : <%= Rails . application . class . ...
《Rails实战教程:实际使用中的Rails》是一本深入探讨Ruby on Rails框架的实践指南,它旨在帮助开发者在真实的项目环境中熟练掌握Rails的核心概念和技术。Rails是Ruby编程语言的一个强大Web应用框架,以其“约定优于...
gem "mongoid_rails_migrations" 如何使用 创建迁移 $ rails generate mongoid:migration 运行迁移: $ rails db:migrate $ rails db:migrate:down VERSION= $ rails db:migrate:up VERSION= $ rails db:rollback...