`
jbf034
  • 浏览: 152299 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Action Controller (1)转载)

阅读更多
1、定URL配置文件地址:config\routes.rb
例1:map.connect 'aaa/:action/:id',:controller=>'site'
说明,http://localhost:3000/aaa/index/1,中aaa实际指向site

例2:map.connect ':action/:id',:controller=>'site'
说明:http://localhost:3000/index/1 虽然没有指定控制器,但实际向site。

例3:map.connect ':id',:controller=>'site',:action=>'index'
说明:http://localhost:3000/1,将实际指向site控制器的index Action

另外“:requirements => {:id => /^[0-9]+$/}”这样设置可以将id部份值限为数字
除了:controller、:action参还:year:month:day表示年月日的参数

用url_for方法可以生成URL,它必须符合map.connect中义url_for(:controller=>”site”,:action=>”show”, :id=>111)

2、hide_action声明action方法为private或protected型
   例:hide_action :some_action 则some_action为private型

3、redirect_to此方法用于action间的跳转
例:
redirect_to :action=>"edit", :id=>7
redirect_to "http://www.chengang.com.cn"
redirect_to "/images/1.jpg" #到../image/1.jpg
redirect_to :backk #返回上次访问页3.2.3.render显输出给户(·21·

4、render
render :text=>'HelloWorld!!'#输出“HelloWorld“
render(:action=>:index) 调用父类的index()方法并显示其结果。
render(:template=>"test/index") 显示index.rhtml模板
render(:file=>”F:/index.rhtml”) 显示指定文件
render(:file=>”test/index”, :user_full_path=>true)显示文件,参数2表相对路径
render(:nothing=>true) 一个空页面
render :inline=>”<%='Hello' + str %>”,:locals=>{:str=>”World”}, :type=>”rhtml” 
显示一个动态模板,参数1是模板代码,参数2是模板可用的变量值,参数2是模板类型(or rxml)

5、render_to_string
   和render用法相同,但本方法返回值是字符串类型

6、send_data
   向客户端发送二进制数据流
   例:
    img=Photo.find(:first)
    send_data(img,type=>"image/jpeg",:disposition=>"inline")
   参数1可以指定一个文件名,参数2指定所传送的数据类型,参数3为浏览器对数据的处理方式:值为inline时,直接显示数据,为attachment时,下载并保存相关数据

7、send_file
   本方法和send_data类似,但它更适合大数据量的传输。除了有send_data的三个参数处,本方法还有两个参数,
:streaming=>true(数据向边读边传,默认为true,为false时,表示将文件全部读入服务器内存后在向用户发送文件)

:buffer_size=>4096数据缓冲区大小(一次传输的数据量,4096字节是默认值)

8、flash(action方法间的通信器)
  action之能的变量是不能互访的,带@前缀的实变量也不行。就是flash的有效期也只能在下一个request之间有效,再过一个Request就失效。实例变量代替不了flash的,因为IE无状特性,在下一个请求中,上一个请求的实例变量已失效。
flash[:myname]= ‘chengang’ 存值,输出为puts flash[:myname]
flash.keep(:myname)可以保证myname的值不被修改。即使该来自上一个action,用keep之后,它就可以再传到下一个action
flash.now[:myname] = “chengang”  now和keep相反,它指定的值只在当前action有效
分享到:
评论

相关推荐

    Servlet和Struts2的交互(转载)

    1. **请求分发**:Struts2的DispatcherServlet(或Front Controller)作为入口点,接收所有的HTTP请求,并根据配置的Action Mapping将请求转发给合适的Action。 2. **Action处理**:Action是业务逻辑的载体,它继承...

    webwork教程

    WebWork 是一个基于Java的轻量级Web应用框架,它为开发者提供了构建MVC(Model-View-Controller)架构的应用程序的工具。本教程旨在帮助初学者理解和掌握WebWork的核心概念和技术。 **WebWork 介绍** WebWork的核心...

    WebWork教程开发资料

    WebWork作为一个强大的Web开发框架,它简化了Java Web应用的开发过程,通过提供动作(Action)和控制器(Controller)的概念,将业务逻辑、数据处理和用户界面进行了清晰的分离。WebWork的特点包括强大的表单处理...

    ruby on rails, 非常棒的启蒙教材(转载)

    ActionController则管理HTTP请求和响应,处理用户输入并调用模型进行数据操作。 Rails还内置了丰富的生成器,如`rails new`用于创建新项目,`rails generate`用于生成控制器、模型、迁移等,这极大地简化了开发过程...

    转载软件测试试题

    - **Controller**:负责脚本的运行管理和监控。 - **Analysis**:提供数据分析和报告功能。 #### LoadRunner并发测试 在LoadRunner中进行并发测试时,通常通过设置虚拟用户的数量和行为来模拟并发访问场景。集合点...

    jsr168 portlet(struts2+spring2.5+hibernate3.3)(转载)

    【Struts2框架】Struts2是MVC(Model-View-Controller)设计模式的一个实现,它提供了一种组织应用程序的方式,将业务逻辑、数据展示和用户界面分离。Struts2的核心组件包括Action、Result和Interceptor,其中Action...

    springmybatis

    mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地...

Global site tag (gtag.js) - Google Analytics