07-06
12
<controller>元素详解
作者:Java伴侣 日期:2007-06-12
<controller>主要用于扩展RequestProcessor(请求处理器类),实现预处理功能所用。在Struts1.0版本时,只有5个元素,并不<controller>时,程序员通过扩展其ActionServlet来实现预处理功能。自从1.1版本以后,Struts提供了实现预处理的机制。我们先看一下关系样例:
MyRequestProcessor就是我们需要扩展的类,在其中重构父类process()方法中的第六个方法。processProcessor()方法。
下面的controller元素中我写入了三个比较有用的参数,并一一解释:
1.contentType属性,指定响应结果的内容类型和字符编码。当ActionServlet判断此属性存在时,由RequestProcessor类中的第四个方法实现。详见书101页
2.processorClass指定扩展的类。
3.nocache属性,页面不缓存。在RequestProcessor类中以代码的形式实现如下:
其实在页面用Html代码也一样可以实现:
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
引用内容
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");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires","1");
其实在页面用Html代码也一样可以实现:
HTML代码
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
评论: 0 | 引用: 0 | 查看次数: 559
发表评论