论坛首页 Java企业应用论坛

《Struts2技术内幕》 新书样章和导读

浏览 15943 次
该帖已经被评为精华帖
作者 正文
   发表时间:2011-12-03  
您好,有个问题向您请教。我在s,t,u,r,ts2中应用了site,mesh,装饰器 装饰页面,怎么装饰action传参之后的页面,问下d,e,c,o,r,a,t,o,s。x,m,l 怎么配置?
0 请登录后投票
   发表时间:2011-12-19   最后修改:2011-12-19
《Struts2技术内幕》 新书部分篇章连载(四)

博客分类: JavaStruts2
9.2核心分发器 —— Dispatcher
http://downpour.iteye.com/blog/1219253

引用

这个非常惹眼的内部变量instance,它不仅是一个静态的实例变量,同时它也被定义成为ThreadLocal类型,而ThreadLocal所承载的实际类型是Dispatcher本身!这正是一个典型的ThreadLocal模式的应用范例!

从这个数据结构的定义来看,我们可以确认,Struts2对Dispatcher应用了ThreadLocal模式。其中,Dispatcher本身就是实现ThreadLocal模式的核心要素,因为我们实际上在Dispatcher中看到了实现ThreadLocal模式的两大步骤。在之后的源码分析中,我们还将看到Dispatcher在处理Http请求时与ThreadLocal变量的交互过程。

使用ThreadLocal模式的初衷是为了解决多线程环境下对象访问的线程安全问题。Dispatcher作为核心分发器,成为了入口程序StrutsPrepareAndExecuteFilter中的实例变量PrepareOperations和ExecuteOperations的实际操作句柄(Dispatcher是它们的重要实例变量),从而被所有的线程共享访问。因此,Dispatcher被打造成ThreadLocal模式是一个理所当然的选择。

然而,这一理所当然的选择,却使得Struts2能够摆脱传统的表示层框架对于Web容器的高度依赖。由此可见,ThreadLocal模式是贯穿整个Struts2的核心技术之一,成为了Struts2将Web容器与Java开发解耦合的内在基础。不仅如此,我们还将在之后的章节中看到ThreadLocal模式在Struts2数据流转的过程中所起到的决定性作用。



这段要好好研究。尤其是这一句。
这一理所当然的选择,却使得Struts2能够摆脱传统的表示层框架对于Web容器的高度依赖。
0 请登录后投票
   发表时间:2012-02-23  
mlw2000 写道
KimHo 写道
liguocai2009 写道
激动人心啊。担心楼主爆料太多,书没太多人买~

你担心得太多了

我相信有相当部分的人习惯于阅读纸质书籍,那样才有感觉

同意,一直习惯纸质书籍的感觉
0 请登录后投票
   发表时间:2012-02-28  
您好,我们老师也给我们买了您的书,我想请教一个问题:

请问 struts2做国际化的时候, properties文件有没有能在页面输出换行符的啊? 

难道两行的文字只能分成两条语句写在properties中吗?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics