struts2配置详解(2)

参考《Struts 2完全学习手册》


想到一个问题,struts中,每个请求(对应的线程对象?)访问一个action实例,该实例是归请求独有的,即自己new后delete。但new、delete一个对象是很耗时间和资源的,为什么不新建一个pool,事先new好了;某个请求(对应的线程对象)要用(线程对象中要new),就来拿克隆,用完了,归还给pool并恢复原本状态后。



1、Action配置(接前一章)

1.1 通配符映射


1.2 默认Action

当用户请求找不到对应的<action>时,使用默认Action.



2、result配置

Action处理用户请求,但不能提供对用户的直接响应。Action处理完用户请求后,<result>将处理结果对应到相应的视图(response响应)或执行另一个Action(这个还没遇到过呢,呵呵)。


结果类型分析(FreeMarker以后介绍)

1、默认的结果类型是dispatcher转发!!

和<jsp:forward>几乎是一样的效果。<result>将处理结果对应到相应的视图,request对象、action对象也一并传过去了(所以相应视图可以直接访问action对象的属性值)。URL显示form act="test"中的test.action。说明这是服务器端处理的,没有将相应的视图的URL发给客户端,让客户端请求新地址。


2、可以设置结果类型是重定向redirect。

和response.sendirect几乎是一样的效果系统将调用HttpServletResponse的sendRedirect()方法。redirect结果类型的实现类时org.apache.struts2.dispatcher.ServletRedirectResult。使用redirect重定向到其他资源,将重新产生一个请求,而原来的请求内容和请求参数将全部丢失。URL显示新的资源地址。


3、redireckAction

输出的是源代码??


使用通配符配置


使用OGNL动态配置

xiaoxue.jsp能获得action对象的属性值,是因为<result>默认的是转发类型。


















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章