07-06
12

<controller>元素详解

      <controller>主要用于扩展RequestProcessor(请求处理器类),实现预处理功能所用。在Struts1.0版本时,只有5个元素,并不<controller>时,程序员通过扩展其ActionServlet来实现预处理功能。自从1.1版本以后,Struts提供了实现预处理的机制。我们先看一下关系样例:
引用内容 引用内容
ActionServlet->RequestProcessor->MyRequestProcessor->Action

       MyRequestProcessor就是我们需要扩展的类,在其中重构父类process()方法中的第六个方法。processProcessor()方法。
      下面的controller元素中我写入了三个比较有用的参数,并一一解释:
引用内容 引用内容
  <controller contentType="text/html;charset=UTF-8" processorClass="order.MyProRequestProcessor" nocache="true" />

       1.contentType属性,指定响应结果的内容类型和字符编码。当ActionServlet判断此属性存在时,由RequestProcessor类中的第四个方法实现。详见书101页
       2.processorClass指定扩展的类。
       3.nocache属性,页面不缓存。在RequestProcessor类中以代码的形式实现如下:
引用内容 引用内容
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires","1");

        其实在页面用Html代码也一样可以实现:
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 预处理
相关日志:
评论: 0 | 引用: 0 | 查看次数: 559
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭