使用html 的a标签连接action的方法

原文链接

<a href="<s:url action="blogList"/>">XXXX</a>即可

 

更简单的写法是

<a href="blogDelete.action?id=XXX">直接写就行了

 

如果这个Action在struts里面声明的时候有命名空间如/user

那么写成<a href="user/blogDelete.action?id=XXX">

 

 

使用struts2的action标签时,可以在jsp页面直接调用Action,在调用Action的时候,可以指定Action的name和 namespace,如果指定了executeResult参数的属性值为true,那么该标签会把Action的处理结果(即视图资源)包含到本页面 中。s:action标签指定属性有:

id:可选属性,作为该Action的应用ID

name:必选属性,指定需要调用的Action名

namespace:可选属性,指定该标签调用Action所属的namespace

executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false(不包含)

ignoreContextParam:可选参数,指定该页面的请求参数是否需要传入调用的Action中,默认值是false,即传入参数

 

实例:index.jsp主要代码

 

[html] view plaincopy

  1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  
  2. <%@taglib prefix="s" uri="/struts-tags"%>  
  3. <%  
  4. String path = request.getContextPath();  
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  6. %>  
  7.   
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  9. <html>  
  10.   <head>  
  11.     <base href="<%=basePath%>">  
  12.       
  13.     <title>Struts2 a:action</title>  
  14.   
  15.   </head>  
  16.     
  17.   <body>  
  18.       <div>  
  19.         <s:action name="modle_show" namespace="/webs" executeResult="true">  
  20.              <s:param name="name" value='1'>  
  21.              </s:param>  
  22.         </s:action>   
  23.       </div>  
  24.       
  25.   </body>  
  26. </html>  

 

test.jsp主要代码

  1. <%@ page contentType="text/html; charset=UTF-8" language="java"%>  
  2. <%@taglib uri="/struts-tags" prefix="s"%>  
  3. <s:property value="content" escape="false" />  


 

struts.xml的action代码:

  1. <action name="modle_*" class="modleAction" method="{1}" >  
  2.             <result name="test">/webs/content.jsp</result>  
  3.         </action>  


 

 这样当访问index.jsp时,会在页面上执行modle_show这个aciton,并将最终的结果页面(也就是test.jsp上所有的结果页面)包含在index.jsp中

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 介绍.........................................................................................................18 1.1. 关于本书...............................................................................................................19 1.1.1. 谁创建了Struts?...................................................................................................19 1.1.2. 为什么Struts 要开源?.........................................................................................19 1.1.3. 为什么叫Struts?...................................................................................................19 1.1.4. 落到实处...............................................................................................................27 1.1.5. 再看看...................................................................................................................34 1.2. 小结.......................................................................................................................36 2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈...............................................................................................................38 2.2. 为什么我们需要Struts .......................................................................................38 2.2.1. 退一进三...............................................................................................................38 2.2.2. 进入 Struts ...........................................................................................................39 2.2.3. Struts 控制器组件................................................................................................39 2.2.4. 用Struts 开发Web 应用......................................................................................42 2.3. 为什么需要框架...................................................................................................43 2.3.1. Web—永无休止的修补........................................................................................43 2.3.2. Servlet 解决方案.................................................................................................44 2.3.3. Servlet 框架.........................................................................................................44 2.3.4. 黑盒-白盒统一体.................................................................................................45 2.4. Struts, Model 2,以及 MVC................................................................................46 2.4.1. MVC 的演化.........................................................................................................46 2.4.2. Model 2 的出现....................................................................................................47 2.4.3. 应用层—视图之间的去耦合...............................................................................47 2.4.4. Struts 如何实现Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流......................................................................................................50 2.5.1. 总图.......................................................................................................................51 2.5.2. 出色的细节...........................................................................................................52 2.5.3. Struts 是富有效率的吗?......................................................................................54 2.6. Struts 的长处和弱点...........................................................................................55 2.6.1. 弱点.......................................................................................................................56 2.6.2. Struts 的强项........................................................................................................58 2.7. 小结.......................................................................................................................59 3. 构建一个简单应用....................................................................................60 3.1. 被支柱支撑的支柱...............................................................................................61 3.1.1. 为什么选择 logon 应用? .....................................................................................61 3.2. 漫游logon 应用...................................................................................................62 3.2.1. 从这里开始...........................................................................................................62 3.2.2. 我们看到的屏幕...................................................................................................62 3.2.3. 欢迎屏幕...............................................................................................................63 3.2.4. 登录屏幕...............................................................................................................63 3.2.5. 重新显示欢迎屏幕...............................................................................................65 3.2.6. 欢迎屏幕,再见...................................................................................................65 3.2.7. 所使用的特征.......................................................................................................66 3.3. 解剖 logon 应用.................................................................................................66 3.3.1. 欢迎屏幕的浏览器代码.......................................................................................66 3.3.2. 欢迎页面的JSP 源代码.......................................................................................67 3.3.3. Welcome 屏幕的配置源代码...............................................................................70 3.3.4. logon 屏幕的浏览器代码....................................................................................70 3.3.5. logon 的配置源代码............................................................................................73 3.3.6. LogonSubmit 配置................................................................................................74 3.3.7. LogonForm 源代码..............................................................................................75 3.3.8. LogonAction 源代码...........................................................................................77 3.3.9. LogoffAction 源代码...........................................................................................83 3.4. 构造应用...............................................................................................................86 3.4.1. 定义需求...............................................................................................................86 3.4.2. 规划应用...............................................................................................................87 3.4.3. 规划源代码树.......................................................................................................89 3.4.4. 设置开发工具.......................................................................................................90 3.4.5. 设置 build.xml 文件............................................................................................91 3.4.6. 设置web.xml 文件...............................................................................................91 3.4.7. 设置 struts-config.xml 文件...............................................................................91 3.4.8. 测试部署情况.......................................................................................................93 3.4.9. 构造欢迎页面.......................................................................................................95 3.4.10. 构造logon 页面...................................................................................................97 3.4.11. 构造Constants 类.................................................................................................98 3.4.12. 构造其他类.........................................................................................................100 3.4.13. 创建user directory..............................................................................................100 3.4.14. 配置ActionErrors...............................................................................................101 3.4.15. 编译并测试logon 页面.....................................................................................101 3.4.16. 修改welcome 页面............................................................................................102 3.4.17. Struts ForwardAction Action...............................................................................104 3.5. 小结.....................................................................................................................105 4. 配置STRUTS 组件................................................................................106 4.1. 三个 XML 文件和一个属性文件....................................................................107 4.1.1. 家族的其他人员.................................................................................................107 4.2. Web 应用部署描述符........................................................................................107 4.2.1. Web.xml 文件....................................................................................................107 4.2.2. ActionServlet 的参数......................................................................................... 110 4.3. Struts 配置......................................................................................................... 112 4.3.1. 细节, 更多细节.................................................................................................. 113 4.3.2. 变更管理............................................................................................................. 114 4.3.3. 受保护的变更原则............................................................................................. 115 4.4. Struts 配置元素................................................................................................. 115 4.4.1. <global-exceptions>............................................................................................ 117 4.4.2. <form-beans>...................................................................................................... 118 4.4.3. <global-forwards>............................................................................................... 118 4.4.4. <action-mappings>.............................................................................................. 119 4.4.5. <Controller>........................................................................................................120 4.4.6. <message-resources> ..........................................................................................121 4.4.7. <plug-in>.............................................................................................................121 4.4.8. <data-sources> ....................................................................................................122 4.4.9. 该你了.................................................................................................................123 4.4.10. Struts config 骨架..............................................................................................123 4.5. 应用资源文件.....................................................................................................125 4.6. Ant 构建文件.....................................................................................................127 4.7. 配置 Struts 核心..............................................................................................129 4.7.1. 安装Java 和Java servlet 容器........................................................................130 4.7.2. 安装开发环境.....................................................................................................130 4.7.3. 安装Struts 核心文件.........................................................................................130 4.7.4. 配置Tiles 框架...................................................................................................130 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 5 页 http://www.blogjava.net/steelhand 4.8. 配置Struts Validator.........................................................................................132 4.9. 从空白Struts 应用开始....................................................................................134 4.10. 配置模块化应用.................................................................................................135 4.10.1. 分而治之.............................................................................................................136 4.10.2. 给页面加前缀.....................................................................................................137 4.10.3. 修改配置.............................................................................................................138 4.10.4. 共享Struts JAR ..................................................................................................138 4.11. 小结.....................................................................................................................138 5. 用ACTIONFORM 传递数据...................................................................140 5.1. 吃的是草,挤出的是奶.....................................................................................141 5.1.1. ActionForm 的要求...........................................................................................142 5.2. 千面女郎 ActionForm......................................................................................143 5.2.1. ActionForm 作为字段收集器...........................................................................143 5.2.2. ActionForm 作为数据缓冲...............................................................................145 5.2.3. ActionForm 作为数据校验器...........................................................................145 5.2.4. ActionForm 作为类型转换器...........................................................................146 5.2.5. ActionForm 作为传输对象(TO) ..................................................................146 5.2.6. ActionForm 作为防火墙...................................................................................147 5.3. ActionForm 设计推论.......................................................................................147 5.3.1. ActionForm 可以共享名称................................................................................147 5.3.2. ActionForm 可以最小化用户代码....................................................................148 5.3.3. ActionForm 可以封装Helper ............................................................................148 5.3.4. ActionForm 可以嵌套其它bean........................................................................148 5.4. ActionForm 的风情..........................................................................................150 5.4.1. Map 支持(Map-backed)的ActionForm ........................................................150 5.4.2. DynaActionForm.................................................................................................151 5.5. 关于ActionForm 的疑问..................................................................................152 5.5.1. 为什么ActionForm 不仅仅是一个Map? .........................................................152 5.5.2. 为什么ActionForm 不是一个普通 JavaBean? ................................................152 5.5.3. 为什么ActionForm 不是一个接口?..................................................................153 5.6. 小结ActionForm...............................................................................................153 5.6.1. 实现业务层接口.................................................................................................155 5.6.2. 嵌套可变值对象.................................................................................................156 5.6.3. 设置不可变值对象.............................................................................................156 5.6.4. 设置可变值对象.................................................................................................158 5.6.5. 使用工厂方法.....................................................................................................158 5.6.6. 传递Map ............................................................................................................159 5.6.7. 通过反射传递值.................................................................................................162 5.6.8. 使用适配器类.....................................................................................................166 5.7. BaseForm...........................................................................................................167 5.7.1. SessionLocale......................................................................................................168 5.7.2. 分派(Dispatch)...............................................................................................168 5.7.3. 自动组装.............................................................................................................169 5.7.4. BaseMapForm.....................................................................................................169 5.8. 小结.....................................................................................................................170 6. 连线 ACTIONFORWARD .....................................................................171 6.1. ActionForward 做什么.....................................................................................172 6.2. ActionForward 如何工作.................................................................................173 6.2.1. 转发和重定向.....................................................................................................173 6.3. 全局和局部转发.................................................................................................174 6.4. 运行时参数.........................................................................................................175 6.4.1. 在页面中添加参数.............................................................................................175 6.4.2. 在Action 类中添加参数....................................................................................176 6.5. 动态转发.............................................................................................................177 6.6. 为什么地址栏不变?.........................................................................................177 6.7. 玩转ActionForward .........................................................................................177 6.8. 小结.....................................................................................................................178 7. 设计ACTIONMAPPING........................................................................179 7.1. 进入ActionMapping.........................................................................................180 7.1.1. ActionMapping bean...........................................................................................180 7.1.2. ActionMapping 目录.........................................................................................181 7.2. ActionMapping 属性........................................................................................181 7.2.1. path 属性.............................................................................................................183 7.2.2. forward 属性......................................................................................................183 7.2.3. include 属性.......................................................................................................183 7.2.4. type 属性............................................................................................................183 7.2.5. classname 属性...................................................................................................184 7.2.6. name 属性...........................................................................................................184 7.2.7. roles 属性............................................................................................................184 7.2.8. scope 属性...........................................................................................................184 7.2.9. validate 属性.......................................................................................................184 7.2.10. input 属性...........................................................................................................184 7.2.11. parameter 属性....................................................................................................185 7.2.12. attribute 属性......................................................................................................186 7.2.13. prefix 和suffix 属性...........................................................................................186 7.2.14. unknown ActionMapping....................................................................................186 7.3. 嵌套的组件.........................................................................................................187 7.3.1. 局部转发.............................................................................................................187 7.3.2. 局部异常.............................................................................................................187 7.4. 玩转ActionMapping.........................................................................................188 7.5. 小结.....................................................................................................................188 8. 和女主角ACTION 对象共舞..................................................................190 8.1. 准备好了, 设定, 行动! .....................................................................................191 8.2. 搞定Action 对象...............................................................................................191 8.2.1. 什么是Action? ...................................................................................................192 8.2.2. Action 何时被调用? ..........................................................................................192 8.2.3. Action 做些什么? ...............................................................................................193 8.2.4. Action 象什么? ...................................................................................................199 8.3. 标准Action ........................................................................................................200 8.3.1. 标准桥式Action 类............................................................................................201 8.3.2. 标准 base Action................................................................................................203 8.3.3. SwitchAction.......................................................................................................208 8.4. 串链Action ........................................................................................................209 8.4.1. 来点新鲜的.........................................................................................................210 8.5. Scaffold Action...................................................................................................210 8.5.1. 仅作转发的Action............................................................................................. 211 8.5.2. Helper Action ......................................................................................................217 8.6. Base View Action ...............................................................................................220 8.7. Helper Action 技术...........................................................................................221 8.7.1. 可选转发.............................................................................................................221 8.7.2. 向前调用.............................................................................................................222 8.7.3. 捕获串链异常.....................................................................................................223 8.7.4. 智能错误转发.....................................................................................................225 8.7.5. 确认成功.............................................................................................................226 8.7.6. 替换视图.............................................................................................................226 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 8 页 http://www.blogjava.net/steelhand 8.7.7. 反射方法.............................................................................................................227 8.7.8. 反射类.................................................................................................................227 8.8. 使用智能转发.....................................................................................................228 8.9. 小结.....................................................................................................................233 9. 扩展 ACTIONSERVLET .......................................................................234 9.1. 来点实在的.........................................................................................................235 9.1.1. Servlet 三人帮....................................................................................................236 9.2. RequestProcessor ..............................................................................................237 9.2.1. process 方法.......................................................................................................238 9.2.2. processRoles........................................................................................................238 9.3. ExceptionHandler .............................................................................................239 9.4. PlugIn .................................................................................................................241 9.5. 小结.....................................................................................................................241 10. 显示动态内容......................................................................243 10.1. 标签—就是你.....................................................................................................244 10.1.1. JSP 标签—你到底好在哪里? ............................................................................244 10.1.2. Struts 和JSTL.....................................................................................................247 10.1.3. Struts 标签和MVC ............................................................................................248 10.2. 标签扩展.............................................................................................................249 10.2.1. 标签扩展是如何编写的? ...................................................................................249 10.2.2. 如何安装标签扩展? ...........................................................................................251 10.2.3. 标签不是什么.....................................................................................................253 10.3. Struts 标签库.....................................................................................................254 10.3.1. Struts 标签公共特征...........................................................................................254 10.3.2. Bean 标签...........................................................................................................256 10.3.3. Html 标签...........................................................................................................258 10.3.4. Logic 标签..........................................................................................................261 10.4. 使用Struts JSP 标签.........................................................................................263 10.4.1. Struts 标签.........................................................................................................264 10.4.2. 基础.....................................................................................................................264 10.4.3. 技术.....................................................................................................................273 10.4.4. 成功的控件.........................................................................................................287 10.5. 其他可代替的视图.............................................................................................288 10.5.1. Struts 和JSP .......................................................................................................288 10.5.2. Servlet 上下文....................................................................................................288 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 9 页 http://www.blogjava.net/steelhand 10.5.3. JSP 之外..............................................................................................................289 10.6. 小结.....................................................................................................................289 11. 用TILES 开发应用..............................................................291 11.1. 页面布局.............................................................................................................292 11.1.1. 动态模板的分层.................................................................................................292 11.1.2. 模板推论.............................................................................................................293 11.1.3. 使用模板.............................................................................................................293 11.1.4. 组合模板,Tiles 和Struts..................................................................................294 11.2. 构建一个布局模板.............................................................................................295 11.2.1. 但什么是小部件(tiles)? ................................................................................297 11.2.2. 部署Tiles 模板...................................................................................................298 11.2.3. 添加样式表.........................................................................................................300 11.2.4. 模板和MVC.......................................................................................................300 11.3. Tiles 定义(Definition)...................................................................................300 11.3.1. 声明Definition ...................................................................................................301 11.3.2. JSP 声明..............................................................................................................301 11.3.3. 通过JSP 声明一个Definition ...........................................................................301 11.3.4. 配置文件声明.....................................................................................................304 11.3.5. 将Definition 用作ActionForward .....................................................................306 11.4. Tile 属性(Attributess) ..................................................................................307 11.4.1. 使用属性.............................................................................................................307 11.4.2. 导入属性.............................................................................................................308 11.4.3. put .......................................................................................................................308 11.4.4. putList 和 add....................................................................................................310 11.5. 迁移一个应用到Tiles........................................................................................ 311 11.5.1. 设置 Tiles 框架................................................................................................ 311 11.5.2. 测试缺省配置.....................................................................................................312 11.5.3. 评估页面.............................................................................................................312 11.5.4. 使用<tiles:insert>重构页面................................................................................314 11.5.5. 分离<tiles:insert> 标签到Definition 中...........................................................321 11.5.6. 规格化基本布局.................................................................................................324 11.5.7. 将Definition 提炼到基本和扩展类之中...........................................................325 11.5.8. 开发过程.............................................................................................................326 11.5.9. 管理迁移.............................................................................................................327 11.6. 小结.....................................................................................................................327 12. 用户输入校验......................................................................329 12.1. 看到时我就认识它.............................................................................................330 12.1.1. 不能拒绝的输入.................................................................................................330 12.1.2. Web 层校验........................................................................................................331 12.1.3. 校验器的地位.....................................................................................................331 12.2. Struts 校验器概述............................................................................................333 12.2.1. Logon 示例........................................................................................................336 12.3. 基本校验器.........................................................................................................341 12.3.1. required 校验器.................................................................................................341 12.3.2. mask 校验器......................................................................................................341 12.3.3. range 校验器......................................................................................................343 12.3.4. maxLength 校验器.............................................................................................344 12.3.5. minLength 校验器.............................................................................................344 12.3.6. byte, short, integer, long, float, 和 double 校验器...........................................345 12.3.7. date 校验器........................................................................................................345 12.3.8. creditCard 校验器..............................................................................................346 12.3.9. email 校验器......................................................................................................346 12.4. 资源束.................................................................................................................346 12.4.1. 缺省资源束.........................................................................................................347 12.4.2. 缺省校验器消息.................................................................................................347 12.4.3. 定制校验器消息.................................................................................................348 12.5. 配置文件.............................................................................................................348 12.6. 校验器 JSP 标签..............................................................................................349 12.7. ValidatorForm 和 ValidatorActionForm ......................................................352 12.8. 本地化的校验.....................................................................................................353 12.9. 可插入校验器.....................................................................................................353 12.9.1. 创建可插入校验器.............................................................................................354 12.10. 技术.....................................................................................................................355 12.10.1. 多页面校验.........................................................................................................356 12.10.2. 取消按钮.............................................................................................................356 12.10.3. 定制消息.............................................................................................................356 12.10.4. 交叉相关的字段.................................................................................................357 12.10.5. 综合使用校验器和 validate 方法....................................................................359 12.11. 迁移一个应用到 Struts 校验器.......................................................................359 12.11.1. 设置校验器框架.................................................................................................359 12.11.2. 测试缺省配置.....................................................................................................360 12.11.3. 重审你的校验.....................................................................................................360 12.11.4. 扩展ValidatorForm 或者Scaffold BaseForm...................................................361 12.11.5. 选择一个校验来迁移.........................................................................................362 12.11.6. 添加formset, form, 和 field 元素....................................................................363 12.11.7. 向ApplicationResources 中加入新的条目........................................................363 12.11.8. 调用Struts 校验器.............................................................................................364 12.11.9. 测试并重复.........................................................................................................365 12.11.10. 删除ActionForm 超类......................................................................................366 12.12. 小结.....................................................................................................................368 13. 本地化.................................................................................369 13.1. 以另外的名称.....................................................................................................370 13.1.1. 为什么要本地化?.............................................................................................370 13.1.2. Java 国际化是如何工作的.................................................................................371 13.1.3. 场所(Locale)..................................................................................................371 13.1.4. ResourceBundle ..................................................................................................373 13.1.5. MessageFormat ...................................................................................................374 13.2. Struts 的国际化组件.........................................................................................375 13.2.1. 会话场所属性.....................................................................................................376 13.2.2. MessageResources ..............................................................................................376 13.2.3. 缺省资源束.........................................................................................................377 13.2.4. 格式化消息.........................................................................................................377 13.2.5. 显示特殊字符串.................................................................................................378 13.2.6. ActionErrors........................................................................................................378 13.2.7. ActionMessages ..................................................................................................379 13.2.8. 场所敏感的Struts JSP 标签...............................................................................380 13.3. 本地化Struts 应用............................................................................................386 13.3.1. 激活本地化.........................................................................................................386 13.3.2. 设置 locale servlet 参数....................................................................................386 13.3.3. 设置应用资源束参数.........................................................................................386 13.3.4. 使用框架的Locale 对象....................................................................................388 13.3.5. 检测用户场所.....................................................................................................388 13.3.6. 改变用户场所.....................................................................................................388 13.3.7. 使用Struts 场所敏感组件..................................................................................389 13.3.8. 将标志和消息放在资源属性文件中.................................................................389 13.3.9. 创建特定语言的属性文件.................................................................................389 13.3.10. 在本地化感知的组件中指定一个相应的关键字.............................................389 13.3.11. 使用<bean:message>和其他组件......................................................................389 13.4. 本地化其他组件.................................................................................................389 13.4.1. 本地化Struts Validator .......................................................................................389 13.4.2. 本地化Tiles........................................................................................................390 13.4.3. 本地化集合.........................................................................................................391 13.5. 小结.....................................................................................................................392 14. 在STRUTS 中使用数据服务...............................................394 14.1. 加快步伐.............................................................................................................395 14.1.1. 从模式的角度来看JDBC..................................................................................395 14.1.2. 数据服务介绍.....................................................................................................396 14.2. 业务层详解.........................................................................................................397 14.2.1. Struts—拿出你自己的模型................................................................................397 14.2.2. 定义业务对象.....................................................................................................397 14.2.3. 设计业务对象.....................................................................................................399 14.2.4. 设计结果.............................................................................................................399 14.2.5. 将业务与Action 混合 (不) ...............................................................................400 14.2.6. 一个简单例子.....................................................................................................400 14.3. 在Struts 中使用ProcessBean 和JDBC.........................................................401 14.3.1. 介绍ProcessBean ...............................................................................................402 14.3.2. ProcessBean 作为传输对象..............................................................................403 14.3.3. 组装ProcessBean ...............................................................................................404 14.3.4. 执行ProcessBean ...............................................................................................404 14.3.5. 访问数据服务.....................................................................................................405 14.3.6. 循着典型流程.....................................................................................................407 14.3.7. 编码业务活动.....................................................................................................407 14.3.8. ProcessBean 作为持久层..................................................................................410 14.3.9. 使用其它持久层技术......................................................................................... 411 14.4. 使用结果对象..................................................................................................... 411 14.4.1. ResultList 方法.................................................................................................. 411 14.5. 使用助手Action ................................................................................................413 14.6. 使用Lucene .......................................................................................................414 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 13 页 http://www.blogjava.net/steelhand 14.6.1. 再看searchProperties .........................................................................................415 14.7. 使用内容联合.....................................................................................................419 14.7.1. 摘要RSS.............................................................................................................419 14.7.2. 获取和渲染.........................................................................................................420 14.7.3. 联合RSS.............................................................................................................421 14.8. Struts 中使用EJB.............................................................................................423 14.8.1. 会话外观.............................................................................................................424 14.8.2. 数据传输对象.....................................................................................................424 14.8.3. 实现模式.............................................................................................................424 14.9. 小结.....................................................................................................................425 15. ARTIMUS:全力以赴实际应用..............................................426 15.1. 框架之框架.........................................................................................................427 15.2. Scaffold—工具包的诞生...................................................................................427 15.3. 关于Artimus .....................................................................................................428 15.3.1. 构建Artimus.......................................................................................................429 15.4. 部署描述符(web.xml)........................................................................................430 15.4.1. 配置Artimus.......................................................................................................432 15.4.2. 应用属性.............................................................................................................432 15.4.3. 连接适配器.........................................................................................................432 15.4.4. 启动优先级.........................................................................................................432 15.4.5. 其它配置设置.....................................................................................................432 15.4.6. 安全设置.............................................................................................................433 15.4.7. 我们所保护的URL............................................................................................433 15.4.8. 授权角色.............................................................................................................433 15.4.9. 认证策略.............................................................................................................433 15.5. ArtimusServlet...................................................................................................433 15.5.1. 我们的子类.........................................................................................................435 15.5.2. 我们的字符串常数.............................................................................................435 15.5.3. 我们的扩展点.....................................................................................................435 15.6. 应用和SQL 属性文件.......................................................................................436 15.7. index.jsp .............................................................................................................437 15.8. 全局转发.............................................................................................................438 15.9. /find/Recent........................................................................................................440 15.9.1. 扩展bean ............................................................................................................443 15.9.2. super.execute.......................................................................................................444 15.9.3. getArticles ...........................................................................................................444 15.9.4. 访问.findByLast 和ResultList ..........................................................................444 15.9.5. ProcessResult ......................................................................................................445 15.9.6. ProcessAction......................................................................................................446 15.10. tiles.xml 和Article.jsp......................................................................................447 15.10.1. useAttribute.........................................................................................................449 15.10.2. baseStyle .............................................................................................................450 15.10.3. title ......................................................................................................................450 15.10.4. Tiles.....................................................................................................................450 15.11. result.jsp.............................................................................................................452 15.11.1. legend..................................................................................................................454 15.11.2. isResult? ..............................................................................................................454 15.11.3. RESULT..............................................................................................................454 15.12. Article actions....................................................................................................460 15.13. view.jsp...............................................................................................................463 15.13.1. 大标题.................................................................................................................465 15.13.2. 内容.....................................................................................................................465 15.13.3. contributor...........................................................................................................465 15.14. edit.jsp ................................................................................................................466 15.14.1. 文章内容.............................................................................................................468 15.14.2. Contributed / contributor.....................................................................................469 15.14.3. Article ID ............................................................................................................469 15.14.4. Validation............................................................................................................469 15.15. /do/Menu ............................................................................................................471 15.15.1. logon ...................................................................................................................474 15.15.2. menu....................................................................................................................474 15.15.3. 我们的控件.........................................................................................................475 15.15.4. saveResult ...........................................................................................................476 15.15.5. Our results ...........................................................................................................476 15.16. menu.jsp.............................................................................................................476 15.16.1. /find/Hours ..........................................................................................................479 15.16.2. /menu/Find ..........................................................................................................479 15.16.3. /find/Last .............................................................................................................480 15.16.4. /menu/Contributor ...............................................................................................481 15.16.5. /menu/Manager ...................................................................................................482 15.17. 小结.....................................................................................................................482 16. 回家:迁移到STRUTS 1.1 ...................................................483 16.1. 下一站, Struts 1.1 ..........................................................................................484 16.1.1. Struts 1.1 特征摘要...........................................................................................485 16.1.2. 我们可使用的特征.............................................................................................487 16.2. 基线化变更.........................................................................................................487 16.2.1. Struts 1.1 的Tiles ...............................................................................................488 16.2.2. Struts 1.1 的Validator ........................................................................................491 16.2.3. Struts 1.1 的ReloadAction ................................................................................492 16.2.4. 其他对web.xml 和struts-config.xml 的基线变更...........................................492 16.2.5. message.jsp (1.1).................................................................................................492 16.2.6. form.jsp (1.1).......................................................................................................493 16.2.7. MenuCreate (1.1) ................................................................................................495 16.2.8. 向前.....................................................................................................................496 16.3. 任意修改.............................................................................................................496 16.3.1. 修改表单为DynaActionForm............................................................................496 16.3.2. 基于Action 的安全............................................................................................498 16.3.3. Action 路径修改.................................................................................................500 16.3.4. Struts 1.1 中的应用资源....................................................................................501 16.4. 小结.....................................................................................................................502 17. VELOCITY: JSP 的替代选择..............................................503 17.1. 转移到Velocity 模板........................................................................................504 17.2. 改变成就框架.....................................................................................................504 17.3. 我们为何需要Velocity ......................................................................................504 17.3.1. Velocity 轻巧、快速和多能.............................................................................505 17.3.2. Velocity 与其它和谐共处.................................................................................505 17.3.3. Velocity 简单而强大.........................................................................................505 17.4. 在Web 应用中使用Velocity ............................................................................505 17.4.1. 与其他Servlet 资源使用 Velocity....................................................................507 17.4.2. 通过上下文属性使用Velocity ..........................................................................508 17.4.3. Velocity 如何与Struts 共处..............................................................................509 17.4.4. VelocityStruts 工具包........................................................................................509 17.4.5. Struts View 工具.................................................................................................510 17.5. 我们的logon 模板............................................................................................510 17.6. 设置VelocityViewServlet..................................................................................513 17.6.1. 安装VelocityViewServlet ..................................................................................514 17.6.2. 部署Velocity servlet ..........................................................................................514 17.6.3. 工具包配置文件.................................................................................................515 17.7. 设置struts 配置.................................................................................................516 17.8. 小结.....................................................................................................................518
HTML + JavaScript + Ajax + CSS 赵旭 [email protected] HTML5 1、WEB基础知识(了解) 1、Internet - 网 由若干台电脑、手机、平板 通过 网线(WIFI) 连接起来的结构 2、基于Internet上的程序 1、C / S 结构 Client / Server 特点:必须通过指定的客户端软件才能访问服务器端的一种程序 :如 :桌面版QQ,... ... 2、B / S 结构 Browser / Server Browser :浏览器 特点:通过 浏览器 就能访问服务器端的一种程序 如 :网页版百度,网页版 QQ,网页版 京东,... ... 3、WEB 1、什么是WEB WEB,是基于Internet上的一种应用程序(网页应用程序) WEB页面,简称WEB页(网页),就是保存在服务器端上的一个具体的页面( **.html / **.htm 作为结尾的文件) 2、WEB浏览器 1、功能 1、提交用户请求 (UA : User Agent) 2、作为HTML 以及 脚本执行的 解释器 3、以图形化的方式显示web页面 2、主要浏览器产品 1、Microsoft Internet Explorer (IE) 2、Mozilla Firefox 3、Google Chrome 4、Apple Safari 5、Opera Opera(欧朋) 3、主要技术 1、HTML 2、CSS 3、Javascript 2、HTML入门(重点) 1、什么是HTML Hyper Text Markup Language 超级 文本 标记 语言 超文本 :也是文本,但会具备特殊功能 普通文本 a : 普通字符 a 超文本 a : 表示超链接 普通文本 b : 普通字符 b 超文本 b : 加粗显示文本 标记 :超文本的表现形式 普通文本 a : a 超文本 a : 语言 :具备一定的语法规范 HTML 也具备自己的语法规范 WEB页面(HTML页面)就是由 HTML 语言来进行开发的 ,以 .html 或 .htm 进行结尾的文件 开发 & 运行网页的工具: 1、记事本 2、浏览器 2、HTML 的基础语法 1、标记语法 HTML中用于描述功能的符号称为"标记" 标记在使用时,用尖括号 "",标记的分类 1、封闭类型的标记 也称为 "双标记" , 必须成对出现 语法:内容 Demo : 1、创建 p 标记 --... 2、创建 div 标记 -- 3、创建 header 标记 -- <header></header> 2、非封闭类型的标记 也称为 "单标记" 语法: 或 Demo : 1、创建 br 标记 -- 2、创建 hr 标记 -- 3、创建 img 标记 -- 4、创建 input 标记 -- <input/> 2、标记(元素)的嵌套 在一对标记中,允许出现另外一对(一个)标记 注意:嵌套标记的书写格式 -- 被嵌套的标记要通过一个 缩进键(Tab) 来表示层级关系 Demo : 1、编写一对 body 标记,在body标记中,嵌套一对 div标记,在 div 标记中 ,嵌套一对 a 标记,在 a标记中,嵌套一对 b 标记,b标记中,随意编写一些文本 <body> 这是一段测试文本 </body> 3、标记的属性 1、什么是属性 用来修饰标记的效果的内容,就是属性 2、语法 1、属性必须声明在开始标记中 2、属性与标记名称之间,用 空格 隔开 3、属性的值 与 属性之间 使用 "=" 连接 4、一个元素允许有多属性,多属性间,排名不分先后,中间用 空格 隔开即可 Demo : 1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这是一个div 四大标准属性: 1、id :定义元素在页面中独一无二的名称 2、title :鼠标悬停在元素上时,体现的文字 3、class :引用 类选择器时使用(CSS中) 4、style :定义 内联方式方式使用(CSS中) 4、注释 语法:<!-- --> 注意: 1、注释不能嵌套 2、注释不能出现在标记中 3、HTML 文档结构 W3C :Word Wide Web Consortium (万维网联盟) 1、HTML文档的组成 1、文档类型声明 告知浏览器当前的HTML文档用的是哪个版本 在网页的最顶端 2、由一对 html 根标记,来表示页面的开始与结束 Demo : 1、在 htdoc 中,创建一个网页 01-first.html 文件 创建一个 记事本,将 .txt 重命名为 .html 2、搭建HTML网页结构 1、添加 文档类型声明 2、添加 html 根标记 2、<html> 标记 包含两对子元素 1、<head></head> 包含的子元素(2对) 1、<title>网页的标题</title> 2、<meta charset="utf-8"/> -- 能正常显示中文 2、<body></body> 属性: 1、text ,取值是一个颜色值(red,green,blue...) 2、bgcolor ,取值也是一个颜色值 Demo : 在刚才的 Demo 基础上 1、在 <html>中 增加 <head> 和 <body> 2、为网页指定标题 - 我的第一个HTML文档 3、指定网页的字符编码格式为 utf-8 4、在 body 中 输出一句话 "我的第一HTML页面" 5、设置 body text为red,bgcolor为yellow 3、文本 1、特殊文本的实现 页面的空格以及一些特殊字符需要通过转义字符的方式体现 1、  表示一个空格 2、< 表示 4、© 表示© Demo : 1、创建一个页面 02-text.html 2、在页面中 输出以下内容 The element. ©2017 By Tarena The <p> element.     © By Tarena 2、文本样式相关标记 : 加粗 : 斜体 : 下划线 : 删除线 : 上标 : 下标 Demo : 这是一段包含 ,粗体,斜体,下划线,删除线,上标,下标的文本内容 将以上文本内,对应文字的特殊效果,用标记体现出来 3、标题元素 以 醒目 的方式表现出文本 语法: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 属性: 1、align 文本的水平对齐方式 取值:left / center / right 4、段落元素 语法: 属性:align : left / center / right Demo : 1、在 02-text.html 中,增加以下内容 1、用 段落标记表示 :The first paragraph 2、用 段落标记表示 :The second paragraph ,文本表现为 右对齐 5、换行元素 6、分割线元素 作用:在页面中表现为一条直线 语法: 属性: 1、size 尺寸,以 px 为单位的数值 2、width 宽度,以 px 或 % 为单位的数值 3、align 水平对其方式 4、color 颜色 Demo : 02-text.html 中 增加一根水平线,size为5px,宽度为50%,居中对齐,颜色为红色(red) 7、预格式化 作用:保留源文档中的回车 和 空格 的作用 8、分区元素 1、块分区元素 语法: 作用:布局 2、行内分区元素 语法: 作用:设置同一行文字内的不同样式 9、行内元素 与 块级元素 按照元素们的表现形式来分类,分为 行内元素 和 块级元素1、行内元素 在一行内允许显示多个元素的,称为 "行内元素" span,i,b,s,u,sup,sub 作用:包裹文本,并处理文本的表现形式 2、块级元素 每个元素独占一行显示的,称为 "块级元素" div,p,h1,h2,h3,h4,h5,h6 作用:布局 注意: 1、p标记不能嵌套其它的块级元素 2、行内元素中 最好 不要嵌套块级元素 4、图像 和 链接 1、URL 目录结构 : 目录 ,保存文件的文件夹名称 多个文件夹之间的关系,就是目录结构 1、什么是 URL URL (Uniform Resource Locator),统一资源定位器。用来标识某资源文件的位置 2、URL 在 WEB 中的表现形式 共三种表现形式: 1、绝对路径 特点:从文件所在的最高级目录处开始查找资源文件所经过的路径,就是绝对路径 使用场合:当想访问互联网上的资源时,只能用绝对路径 完整的绝对路径分四部分: 1、协议名 http 2、域名(主机名,IP地址) www.codeboy.com 3、目录路径 img/header 4、文件名 logo.png http://www.codeboy.com/img/header/logo.png img/header/logo.png 2、相对路径(重点) 场合:使用本机文件时使用 什么是相对路径: 从当前文件位置处开始查找资源文件所经过的路径,就是相对路径 1、同目录,直接用 2、子目录,先进入 3、父目录,先返回 3、根相对路径 路径形式是以 / 作为开始的。 / : 表示的是服务器的根路径 2、图像 1、图像格式 WEB中支持的图像格式 1、*.jpg 2、*.gif(动图) 3、*.png(透明) 2、图像的语法 标记: 属性: 1、src :指定要显示图像的 URL 2、width :图像的宽度 3、height :图像的高度 4、title :鼠标悬停时,要显示的文本 Demo : 1、将 学子网的 logo 下载下来 2、显示在自己的网页中 3、超链接 1、语法 标记:内容 属性: 1、href : 要链接的HTML页面URL 2、target : 目标,指定新网页的打开形式 取值: 1、_blank : 在新标签页中打开网页 2、_self : 在自身标签页中打开新网页(默认值) Demo 1、创建一个超链接,内容为 :学子商城,点击时,在自身标签页中 打开 http://www.codeboy.com 2、创建一个超链接,内容为 :学子商城的LOGO,点击时,在新标签页中打开 http://www.codeboy.com 2、链接的四种表现形式 1、点击操作时,完成资源下载的操作 链接的资源为 zip / rar 时则为下载操作 下载 2、电子邮件链接 联系我们 前提 : 必须在计算机中安装并配置好至少一个邮件客户端的信息 3、返回页面顶部的空连接 返回顶部 4、执行Javascript代码片段 执行JS 3、锚点 1、作用 锚点用于在网页中的某个位置处做个记号,允许从其他位置处跳转到记号位置处 2、使用方式 1、定义锚点 1、使用 a 标记的 name 属性允许定义锚点 xxxx 2、任何标记的 id 属性定义锚点 2、链接到锚点 链接到锚点 链接到锚点 5、表格 1、表格 1、表格的作用 按照一定的格式来显示数据的 表格是由 单元格(列),行 来组成的 2、表格的语法 1、标记 1、 : 表示一个表格 2、 : 表示表格中的一行 3、 : 表行中的一列(单元格) : 行/列 标题 (加粗,水平居中) 4、 : 表格的标题 该元素必须添加在 之下,所有的tr之上 2、常用属性 1、table 1、width 2、height 3、align 设置表格的对齐方式 , left / center / right 4、border 边框宽度,取值以 px 为单位的数值 5、bgcolor 6、cellspacing :单元格外边距(单元格与单元格 或 单元格与表格之间的距离) 7、cellpadding : 单元格内边距(单元格与内容之间的距离) 2、tr 1、align 控制当前行内容的水平对齐方式 2、valign 控制当前行内容的垂直对齐方式 top / middle / bottom 3、bgcolor 3、td / th 1、align 2、valign 3、width 4、height 5、colspan :跨列 6、rowspan :跨行 Demo : 在 刚才的表格基础上,增加以下内容 1、为表格增加边框 1px 2、为表格增加尺寸 400 * 400 3、为表格增加单元格内边距 5px 4、为第四行 增加属性 ,内容水平居中对齐 3、表格的复杂应用 1、行分组 允许将若干行划分到一个组中,以便实现统一管理 1、表头行分组 允许将第一行的内容单独分到表头行分组中 2、表尾行分组 允许将最后一行的内容单独分到表尾行分组中 3、表主体行分组 2、不规则表格创建 通过 td 的跨行 和 跨列来实现不规则的表格 1、跨列 从指定单元格位置处开始,横向向右,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 2、跨行 从指定单元格位置处开始,纵向向下,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 3、表格的嵌套 被嵌套的所有的内容,只能放在 td 中 2、列表 1、作用 按照一定的格式显示数据 2、列表的分类 & 语法 1、列表的组成 由列表类型 以及 列表项 来组成 2、分类 & 语法 1、有序列表 --> Order List 允许包含若干列表项: --> List Item 2、无序列表 --> Unorder List 允许包含若干列表项: 3、属性 1、ol 1、type 1 、按数字方式排列,默认值 a 、按小写英文方式排列 A 、按大写英文方式排列 i 、按小写罗马数字排列 I 、按大写罗马数字排列 2、start 指定标识从 几 开始显示 2、ul 1、type 1、disc,实心圆,默认值 2、circle,空心圆 3、square,实心矩形 4、none 3、列表的嵌套 被嵌套的内容只能放在 li 中 Demo : 1、声明一个列表在 html 中(有序),包含两个列表项,显示 两部小说的名字 2、在两个列表项中,再各嵌套一个无序列表,各写3-4个小说中的主角 3、定义列表 1、作用 以一种特殊的结构来排列数据 通常用语对一类事物/名词 的解释上面 2、语法 :声明一个定义列表 :声明要解释的事物名称 或 名词 :对上述名词或事物解释的内容 3、常用场合 图文混排 3、结构标记 1、结构标记的作用 搭建网页的结构(布局),用于替代 div,最大的优点是提升了标记的"语义性" 2、结构标记详解 1、<header></header> 作用:表示网页 或 某块内容的头部 2、 作用:表示网页中的 导航内容 3、 作用:表示网页主体内容中的某一部分 4、 作用:出现在文字描述性比较强的场合:一则新闻,论坛中的帖子,微博信息,博客的信息 5、 作用:表示网页中,或某部分内容的 边栏信息 6、 作用:表示网页中尾部的信息 4、表单(难点) 1、表单的作用 用于收集用户的信息并提交给服务器 表单主体是由两部分组成的 1、表单元素 收集信息,并提交给服务器 2、表单控件 用于与用户交互的一些元素:文本框,密码框 2、表单元素(难点) 标记:<form></form> 注意:只有放在 <form></form> 里面的表单控件的值,才能提交给服务器 属性: 1、action 提交给服务器处理程序的地址 (动作) 2、method 提交方式,以什么样的方式把数据交给服务器 1、get 特点: 1、以明文的方式将数据传递给服务器(提交的数据会显示在地址栏上) 2、安全性很低 3、提交数据最大限制为 2KB 4、向服务器要数据时可以使用 2、post 特点: 1、以隐式的方式将数据传递给服务器 2、安全性很高 3、不限制提交数据的大小 4、要提交数据给服务器处理时使用 3、... ... 3、enctype 作用:指定表单数据进行编码的方式 取值: 1、application/x-www-form-urlencoded 默认值,允许将任意类型的文本提交给服务器 2、multipart/form-data 允许将文件提交给服务器 3、text/plain 不对任何数据进行编码和传输 Demo : 1、创建 05-form.html 2、声明一个表单元素 form 3、指定提交地址为 login.php,提交方式为 get,编码方式为默认 3、表单控件 表单元素分类: 1、input元素 2、textarea 多行文本域 3、select 和 option 选项框 4、其它元素 5、新input元素 详解 : 1、input元素 里面会包含若干个不同的表单控件 标记 :<input> 属性 : 1、type 根据不同的type属性值,可以创建不同的input元素 2、name 定义表单控件的名称,主要提交给服务器使用的 注意:如果不声明name属性的话,元素则无法提交给服务器 3、value 定义当前控件的值,主要提交给服务器使用的 4、disabled 禁用控件,无值的属性 <input disabled> 2、文本框 与 密码框 文本框:<input type="text"> 密码框:<input type="password"> 具备除以上四个属性外,还具备以下几个独立属性: 1、maxlength 限制输入的字符数,取值为数字 2、readonly 只读,无值属性 Q : readonly 和 disabled 的区别 1、readonly ,是只读的意思,是允许提交给服务器,不让用户改数据而已 2、disabled , 是禁用的意思,不仅不让用户改数据,而且还不能提交给服务器 3、placeholder 占位符,即默认显示在文本框用于给用户提示的文字 3、按钮 1、提交按钮 作用:将表单提交给服务器 标记:<input type="submit" value="显示的文本"> 2、重置按钮 作用:将表单恢复到初始化的状态 标记:<input type="reset" value="显示的文本"> 3、普通按钮 作用:通过 JS 自定义功能 标记:<input type="button" value="显示的文本"> 4、显示的内容 属性: 1、type :submit / reset / button 4、单选按钮 和 复选框 单选按钮:<input type="radio"> 复选框:<input type="checkbox"> 属性: 1、name 设置名称,并用于分组,一组单选按钮 或 复选框的名称必须相同 2、value 必须设置 3、checked 默认被选中,无值属性 5、隐藏域 和 文件选择框 1、隐藏域 <input type="hidden" name="" value=""> 想提交给服务器,但不想给用户看的数据,可以放在隐藏域中 2、文件选择框 <input type="file" name=""> 注意: 1、form的 method 属性值必须为 post 2、form的 enctype属性值必须为 multipart/form-data http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=bingbing http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fengjie&gender=1&question=0&question=1&question=2&question=3 http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fdsafdsafdsa&gender=0&question=0&question=1&question=2&question=3&uid=10000567789 1、表单 1、form ... 2、input ... 3、textarea 控件 标记:<textarea></textarea> 属性: 1、name 定义名称,提交给服务器使用 2、cols 指定文本域的列数,变相指定宽 3、rows 指定文本域的行数,变相指定高 4、readonly 只读 Demo : 创建 01-form.html 文件 创建一个 多行文本域,列数为 50,行数为 5,名称为 intro 4、选项框 1、标记 表示 下拉列表 或 滚动列表 列表中的内容,允许出现多个 2、属性 1、 1、name :控件的名称 2、size :默认显示选项的数量,默认为1,为下拉列表,如果取值>1的话,则为滚动列表 3、multiple 设置多选,无值的属性 2、 1、value :选项的值,提交给服务器用 2、selected :默认被选中 5、其它标记 1、label 元素 作用:关联文本与表单控件的,点击文本时就如同点击表单控件一样 标记:文本 属性: 1、for 指定要关联的表单控件的ID值 2、为控件分组 分组标题 分组中的内容 3、浮动框架 1、作用 将其他页面导入到当前页面中来 2、语法 标记:<iframe></iframe> 属性: 1、src 要引入的页面的url 2、frameborder 指定浮动框架的边框,默认为1,则显示边框 不需要边框则设置为 0 3、width 4、height 练习: 创建一个 02-iframe 的网页,将 01-form.html 页面引入进来 ,适当调整宽度,高度,边框 6、新input元素 (HTML5) 1、电子邮件类型 作用:提交时会验证数据是否符合Email的规范 标记:<input type="email"> 2、搜索类型 作用:在文本框的基础上,提供了快速清除操作 标记:<input type="search"> 3、URL类型 作用:提交时会验证数据是否符合Web站点的URL规范(绝对路径) 标记:<input type="url"> 4、电话号码类型 作用:在移动端设备中,能展开 拨号键盘,在PC中无效 标记:<input type="tel"> 5、数字类型 作用:只能让用户输入 或 选择数字 标记:<input type="number"> 属性: 1、min :当前控件接受的最小值 2、max :当前控件接受的最大值 3、step :微调数字时每次变化的长度,默认为1 6、范围类型 作用:提供一个滑块,让用户选择数字 标记:<input type="range"> 属性: 1、min :当前控件的最小值 2、max :当前控件的最大值 3、value :设定初始值 7、颜色类型 作用:提供一个颜色拾取控件 语法:<input type="color"> 8、日期类型 作用:提供一个日期输入控件 标记:<input type="date"> 9、周类型 作用:提供一个日期控件,用于选取周 标记:<input type="week"> 10、月份类型 作用:选取月份控件 标记:<input type="month"> =============================
1. 介绍.........................................................................................................18 1.1. 关于本书...............................................................................................................19 1.1.1. 谁创建了 Struts?...................................................................................................19 1.1.2. 为什么Struts 要开源?.........................................................................................19 1.1.3. 为什么叫 Struts?...................................................................................................19 1.1.4. 落到实处...............................................................................................................27 1.1.5. 再看看...................................................................................................................34 1.2. 小结.......................................................................................................................36 2. 深入 STRUTS架构..................................................................................37 2.1. 随便谈谈...............................................................................................................38 2.2. 为什么我们需要 Struts.......................................................................................38 2.2.1. 退一进三...............................................................................................................38 2.2.2. 进入 Struts...........................................................................................................39 2.2.3. Struts控制器组件................................................................................................39 2.2.4. 用 Struts 开发Web 应用......................................................................................42 2.3. 为什么需要框架...................................................................................................43 2.3.1. Web—永无休止的修补........................................................................................43 2.3.2. Servlet 解决方案.................................................................................................44 2.3.3. Servlet 框架.........................................................................................................44 2.3.4. 黑盒-白盒统一体.................................................................................................45 2.4. Struts, Model 2,以及 MVC................................................................................46 2.4.1. MVC的演化.........................................................................................................46 2.4.2. Model 2的出现....................................................................................................47 2.4.3. 应用层—视图之间的去耦合...............................................................................47 2.4.4. Struts如何实现 Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流......................................................................................................50 2.5.1. 总图.......................................................................................................................51 2.5.2. 出色的细节...........................................................................................................52 2.5.3. Struts 是富有效率的吗?......................................................................................54 2.6. Struts的长处和弱点...........................................................................................55 2.6.1. 弱点.......................................................................................................................56 2.6.2. Struts的强项........................................................................................................58 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 3 页 http://www.blogjava.net/steelhand 2.7. 小结.......................................................................................................................59 3. 构建一个简单应用....................................................................................60 3.1. 被支柱支撑的支柱...............................................................................................61 3.1.1. 为什么选择 logon 应用?.....................................................................................61 3.2. 漫游 logon 应用...................................................................................................62 3.2.1. 从这里开始...........................................................................................................62 3.2.2. 我们看到的屏幕...................................................................................................62 3.2.3. 欢迎屏幕...............................................................................................................63 3.2.4. 登录屏幕...............................................................................................................63 3.2.5. 重新显示欢迎屏幕...............................................................................................65 3.2.6. 欢迎屏幕,再见...................................................................................................65 3.2.7. 所使用的特征.......................................................................................................66 3.3. 解剖 logon 应用.................................................................................................66 3.3.1. 欢迎屏幕的浏览器代码.......................................................................................66 3.3.2. 欢迎页面的 JSP 源代码.......................................................................................67 3.3.3. Welcome屏幕的配置源代码...............................................................................70 3.3.4. logon 屏幕的浏览器代码....................................................................................70 3.3.5. logon 的配置源代码............................................................................................73 3.3.6. LogonSubmit 配置................................................................................................74 3.3.7. LogonForm 源代码..............................................................................................75 3.3.8. LogonAction 源代码...........................................................................................77 3.3.9. LogoffAction 源代码...........................................................................................83 3.4. 构造应用...............................................................................................................86 3.4.1. 定义需求...............................................................................................................86 3.4.2. 规划应用...............................................................................................................87 3.4.3. 规划源代码树.......................................................................................................89 3.4.4. 设置开发工具.......................................................................................................90 3.4.5. 设置 build.xml文件............................................................................................91 3.4.6. 设置web.xml文件...............................................................................................91 3.4.7. 设置 struts-config.xml 文件...............................................................................91 3.4.8. 测试部署情况.......................................................................................................93 3.4.9. 构造欢迎页面.......................................................................................................95 3.4.10. 构造 logon 页面...................................................................................................97 3.4.11. 构造 Constants 类.................................................................................................98 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 4 页 http://www.blogjava.net/steelhand 3.4.12. 构造其他类.........................................................................................................100 3.4.13. 创建user directory..............................................................................................100 3.4.14. 配置ActionErrors...............................................................................................101 3.4.15. 编译并测试 logon 页面.....................................................................................101 3.4.16. 修改welcome页面............................................................................................102 3.4.17. Struts ForwardAction Action...............................................................................104 3.5. 小结.....................................................................................................................105 4. 配置 STRUTS组件................................................................................106 4.1. 三个 XML文件和一个属性文件....................................................................107 4.1.1. 家族的其他人员.................................................................................................107 4.2. Web应用部署描述符........................................................................................107 4.2.1. Web.xml 文件....................................................................................................107 4.2.2. ActionServlet 的参数.........................................................................................110 4.3. Struts配置.........................................................................................................112 4.3.1. 细节, 更多细节..................................................................................................113 4.3.2. 变更管理.............................................................................................................114 4.3.3. 受保护的变更原则.............................................................................................115 4.4. Struts配置元素.................................................................................................115 4.4.1. <global-exceptions>............................................................................................117 4.4.2. <form-beans>......................................................................................................118 4.4.3. <global-forwards>...............................................................................................118 4.4.4. <action-mappings>..............................................................................................119 4.4.5. <Controller>........................................................................................................120 4.4.6. <message-resources>..........................................................................................121 4.4.7. <plug-in>.............................................................................................................121 4.4.8. <data-sources>....................................................................................................122 4.4.9. 该你了.................................................................................................................123 4.4.10. Struts config 骨架..............................................................................................123 4.5. 应用资源文件.....................................................................................................125 4.6. Ant 构建文件.....................................................................................................127 4.7. 配置 Struts 核心..............................................................................................129 4.7.1. 安装 Java和 Java servlet 容器........................................................................130 4.7.2. 安装开发环境.....................................................................................................130 4.7.3. 安装 Struts 核心文件.........................................................................................130 4.7.4. 配置 Tiles 框架...................................................................................................130 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 5 页 http://www.blogjava.net/steelhand 4.8. 配置 Struts Validator.........................................................................................132 4.9. 从空白 Struts应用开始....................................................................................134 4.10. 配置模块化应用.................................................................................................135 4.10.1. 分而治之.............................................................................................................136 4.10.2. 给页面加前缀.....................................................................................................137 4.10.3. 修改配置.............................................................................................................138 4.10.4. 共享 Struts JAR..................................................................................................138 4.11. 小结.....................................................................................................................138 5. 用 ACTIONFORM 传递数据...................................................................140 5.1. 吃的是草,挤出的是奶.....................................................................................141 5.1.1. ActionForm 的要求...........................................................................................142 5.2. 千面女郎 ActionForm......................................................................................143 5.2.1. ActionForm 作为字段收集器...........................................................................143 5.2.2. ActionForm 作为数据缓冲...............................................................................145 5.2.3. ActionForm 作为数据校验器...........................................................................145 5.2.4. ActionForm 作为类型转换器...........................................................................146 5.2.5. ActionForm 作为传输对象(TO)..................................................................146 5.2.6. ActionForm 作为防火墙...................................................................................147 5.3. ActionForm设计推论.......................................................................................147 5.3.1. ActionForm可以共享名称................................................................................147 5.3.2. ActionForm可以最小化用户代码....................................................................148 5.3.3. ActionForm可以封装Helper............................................................................148 5.3.4. ActionForm可以嵌套其它bean........................................................................148 5.4. ActionForm 的风情..........................................................................................150 5.4.1. Map 支持(Map-backed)的 ActionForm........................................................150 5.4.2. DynaActionForm.................................................................................................151 5.5. 关于 ActionForm的疑问..................................................................................152 5.5.1. 为什么ActionForm不仅仅是一个 Map?.........................................................152 5.5.2. 为什么ActionForm不是一个普通 JavaBean?................................................152 5.5.3. 为什么ActionForm不是一个接口?..................................................................153 5.6. 小结 ActionForm...............................................................................................153 5.6.1. 实现业务层接口.................................................................................................155 5.6.2. 嵌套可变值对象.................................................................................................156 5.6.3. 设置不可变值对象.............................................................................................156 5.6.4. 设置可变值对象.................................................................................................158 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 6 页 http://www.blogjava.net/steelhand 5.6.5. 使用工厂方法.....................................................................................................158 5.6.6. 传递 Map............................................................................................................159 5.6.7. 通过反射传递值.................................................................................................162 5.6.8. 使用适配器类.....................................................................................................166 5.7. BaseForm...........................................................................................................167 5.7.1. SessionLocale......................................................................................................168 5.7.2. 分派(Dispatch)...............................................................................................168 5.7.3. 自动组装.............................................................................................................169 5.7.4. BaseMapForm.....................................................................................................169 5.8. 小结.....................................................................................................................170 6. 连线 ACTIONFORWARD .....................................................................171 6.1. ActionForward 做什么.....................................................................................172 6.2. ActionForward 如何工作.................................................................................173 6.2.1. 转发和重定向.....................................................................................................173 6.3. 全局和局部转发.................................................................................................174 6.4. 运行时参数.........................................................................................................175 6.4.1. 在页面中添加参数.............................................................................................175 6.4.2. 在 Action类中添加参数....................................................................................176 6.5. 动态转发.............................................................................................................177 6.6. 为什么地址栏不变?.........................................................................................177 6.7. 玩转 ActionForward.........................................................................................177 6.8. 小结.....................................................................................................................178 7. 设计 ACTIONMAPPING........................................................................179 7.1. 进入 ActionMapping.........................................................................................180 7.1.1. ActionMapping bean...........................................................................................180 7.1.2. ActionMapping 目录.........................................................................................181 7.2. ActionMapping 属性........................................................................................181 7.2.1. path属性.............................................................................................................183 7.2.2. forward 属性......................................................................................................183 7.2.3. include 属性.......................................................................................................183 7.2.4. type 属性............................................................................................................183 7.2.5. classname 属性...................................................................................................184 7.2.6. name 属性...........................................................................................................184 7.2.7. roles属性............................................................................................................184 7.2.8. scope 属性...........................................................................................................184 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 7 页 http://www.blogjava.net/steelhand 7.2.9. validate 属性.......................................................................................................184 7.2.10. input属性...........................................................................................................184 7.2.11. parameter 属性....................................................................................................185 7.2.12. attribute属性......................................................................................................186 7.2.13. prefix和 suffix 属性...........................................................................................186 7.2.14. unknown ActionMapping....................................................................................186 7.3. 嵌套的组件.........................................................................................................187 7.3.1. 局部转发.............................................................................................................187 7.3.2. 局部异常.............................................................................................................187 7.4. 玩转 ActionMapping.........................................................................................188 7.5. 小结.....................................................................................................................188 8. 和女主角 ACTION对象共舞..................................................................190 8.1. 准备好了, 设定, 行动!.....................................................................................191 8.2. 搞定 Action对象...............................................................................................191 8.2.1. 什么是Action?...................................................................................................192 8.2.2. Action 何时被调用?..........................................................................................192 8.2.3. Action 做些什么?...............................................................................................193 8.2.4. Action 象什么?...................................................................................................199 8.3. 标准 Action........................................................................................................200 8.3.1. 标准桥式 Action 类............................................................................................201 8.3.2. 标准 base Action................................................................................................203 8.3.3. SwitchAction.......................................................................................................208 8.4. 串链 Action........................................................................................................209 8.4.1. 来点新鲜的.........................................................................................................210 8.5. Scaffold Action...................................................................................................210 8.5.1. 仅作转发的Action.............................................................................................211 8.5.2. Helper Action......................................................................................................217 8.6. Base View Action...............................................................................................220 8.7. Helper Action 技术...........................................................................................221 8.7.1. 可选转发.............................................................................................................221 8.7.2. 向前调用.............................................................................................................222 8.7.3. 捕获串链异常.....................................................................................................223 8.7.4. 智能错误转发.....................................................................................................225 8.7.5. 确认成功.............................................................................................................226 8.7.6. 替换视图.............................................................................................................226 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 8 页 http://www.blogjava.net/steelhand 8.7.7. 反射方法.............................................................................................................227 8.7.8. 反射类.................................................................................................................227 8.8. 使用智能转发.....................................................................................................228 8.9. 小结.....................................................................................................................233 9. 扩展 ACTIONSERVLET.......................................................................234 9.1. 来点实在的.........................................................................................................235 9.1.1. Servlet三人帮....................................................................................................236 9.2. RequestProcessor..............................................................................................237 9.2.1. process 方法.......................................................................................................238 9.2.2. processRoles........................................................................................................238 9.3. ExceptionHandler.............................................................................................239 9.4. PlugIn.................................................................................................................241 9.5. 小结.....................................................................................................................241 10. 显示动态内容......................................................................243 10.1. 标签—就是你.....................................................................................................244 10.1.1. JSP 标签—你到底好在哪里?............................................................................244 10.1.2. Struts和 JSTL.....................................................................................................247 10.1.3. Struts标签和MVC............................................................................................248 10.2. 标签扩展.............................................................................................................249 10.2.1. 标签扩展是如何编写的?...................................................................................249 10.2.2. 如何安装标签扩展?...........................................................................................251 10.2.3. 标签不是什么.....................................................................................................253 10.3. Struts标签库.....................................................................................................254 10.3.1. Struts标签公共特征...........................................................................................254 10.3.2. Bean 标签...........................................................................................................256 10.3.3. Html标签...........................................................................................................258 10.3.4. Logic 标签..........................................................................................................261 10.4. 使用 Struts JSP 标签.........................................................................................263 10.4.1. Struts 标签.........................................................................................................264 10.4.2. 基础.....................................................................................................................264 10.4.3. 技术.....................................................................................................................273 10.4.4. 成功的控件.........................................................................................................287 10.5. 其他可代替的视图.............................................................................................288 10.5.1. Struts和 JSP.......................................................................................................288 10.5.2. Servlet上下文....................................................................................................288 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 9 页 http://www.blogjava.net/steelhand 10.5.3. JSP 之外..............................................................................................................289 10.6. 小结.....................................................................................................................289 11. 用 TILES 开发应用..............................................................291 11.1. 页面布局.............................................................................................................292 11.1.1. 动态模板的分层.................................................................................................292 11.1.2. 模板推论.............................................................................................................293 11.1.3. 使用模板.............................................................................................................293 11.1.4. 组合模板,Tiles 和Struts..................................................................................294 11.2. 构建一个布局模板.............................................................................................295 11.2.1. 但什么是小部件(tiles)?................................................................................297 11.2.2. 部署 Tiles 模板...................................................................................................298 11.2.3. 添加样式表.........................................................................................................300 11.2.4. 模板和 MVC.......................................................................................................300 11.3. Tiles 定义(Definition)...................................................................................300 11.3.1. 声明Definition...................................................................................................301 11.3.2. JSP 声明..............................................................................................................301 11.3.3. 通过 JSP 声明一个Definition...........................................................................301 11.3.4. 配置文件声明.....................................................................................................304 11.3.5. 将 Definition用作ActionForward.....................................................................306 11.4. Tile 属性(Attributess)..................................................................................307 11.4.1. 使用属性.............................................................................................................307 11.4.2. 导入属性.............................................................................................................308 11.4.3. put.......................................................................................................................308 11.4.4. putList 和 add....................................................................................................310 11.5. 迁移一个应用到 Tiles........................................................................................311 11.5.1. 设置 Tiles 框架................................................................................................311 11.5.2. 测试缺省配置.....................................................................................................312 11.5.3. 评估页面.............................................................................................................312 11.5.4. 使用<tiles:insert>重构页面................................................................................314 11.5.5. 分离<tiles:insert> 标签到Definition 中...........................................................321 11.5.6. 规格化基本布局.................................................................................................324 11.5.7. 将 Definition提炼到基本和扩展类之中...........................................................325 11.5.8. 开发过程.............................................................................................................326 11.5.9. 管理迁移.............................................................................................................327 11.6. 小结.....................................................................................................................327 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 10 页 http://www.blogjava.net/steelhand 12. 用户输入校验......................................................................329 12.1. 看到时我就认识它.............................................................................................330 12.1.1. 不能拒绝的输入.................................................................................................330 12.1.2. Web 层校验........................................................................................................331 12.1.3. 校验器的地位.....................................................................................................331 12.2. Struts 校验器概述............................................................................................333 12.2.1. Logon 示例........................................................................................................336 12.3. 基本校验器.........................................................................................................341 12.3.1. required 校验器.................................................................................................341 12.3.2. mask 校验器......................................................................................................341 12.3.3. range 校验器......................................................................................................343 12.3.4. maxLength 校验器.............................................................................................344 12.3.5. minLength 校验器.............................................................................................344 12.3.6. byte, short, integer, long, float, 和 double 校验器...........................................345 12.3.7. date 校验器........................................................................................................345 12.3.8. creditCard 校验器..............................................................................................346 12.3.9. email 校验器......................................................................................................346 12.4. 资源束.................................................................................................................346 12.4.1. 缺省资源束.........................................................................................................347 12.4.2. 缺省校验器消息.................................................................................................347 12.4.3. 定制校验器消息.................................................................................................348 12.5. 配置文件.............................................................................................................348 12.6. 校验器 JSP 标签..............................................................................................349 12.7. ValidatorForm 和 ValidatorActionForm......................................................352 12.8. 本地化的校验.....................................................................................................353 12.9. 可插入校验器.....................................................................................................353 12.9.1. 创建可插入校验器.............................................................................................354 12.10. 技术.....................................................................................................................355 12.10.1. 多页面校验.........................................................................................................356 12.10.2. 取消按钮.............................................................................................................356 12.10.3. 定制消息.............................................................................................................356 12.10.4. 交叉相关的字段.................................................................................................357 12.10.5. 综合使用校验器和 validate 方法....................................................................359 12.11. 迁移一个应用到 Struts 校验器.......................................................................359 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 11 页 http://www.blogjava.net/steelhand 12.11.1. 设置校验器框架.................................................................................................359 12.11.2. 测试缺省配置.....................................................................................................360 12.11.3. 重审你的校验.....................................................................................................360 12.11.4. 扩展 ValidatorForm 或者 Scaffold BaseForm...................................................361 12.11.5. 选择一个校验来迁移.........................................................................................362 12.11.6. 添加formset, form, 和 field 元素....................................................................363 12.11.7. 向 ApplicationResources中加入新的条目........................................................363 12.11.8. 调用 Struts 校验器.............................................................................................364 12.11.9. 测试并重复.........................................................................................................365 12.11.10. 删除ActionForm 超类......................................................................................366 12.12. 小结.....................................................................................................................368 13. 本地化.................................................................................369 13.1. 以另外的名称.....................................................................................................370 13.1.1. 为什么要本地化?.............................................................................................370 13.1.2. Java国际化是如何工作的.................................................................................371 13.1.3. 场所(Locale)..................................................................................................371 13.1.4. ResourceBundle..................................................................................................373 13.1.5. MessageFormat...................................................................................................374 13.2. Struts的国际化组件.........................................................................................375 13.2.1. 会话场所属性.....................................................................................................376 13.2.2. MessageResources..............................................................................................376 13.2.3. 缺省资源束.........................................................................................................377 13.2.4. 格式化消息.........................................................................................................377 13.2.5. 显示特殊字符串.................................................................................................378 13.2.6. ActionErrors........................................................................................................378 13.2.7. ActionMessages..................................................................................................379 13.2.8. 场所敏感的 Struts JSP标签...............................................................................380 13.3. 本地化 Struts应用............................................................................................386 13.3.1. 激活本地化.........................................................................................................386 13.3.2. 设置 locale servlet 参数....................................................................................386 13.3.3. 设置应用资源束参数.........................................................................................386 13.3.4. 使用框架的 Locale对象....................................................................................388 13.3.5. 检测用户场所.....................................................................................................388 13.3.6. 改变用户场所.....................................................................................................388 13.3.7. 使用 Struts场所敏感组件..................................................................................389 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 12 页 http://www.blogjava.net/steelhand 13.3.8. 将标志和消息放在资源属性文件中.................................................................389 13.3.9. 创建特定语言的属性文件.................................................................................389 13.3.10. 在本地化感知的组件中指定一个相应的关键字.............................................389 13.3.11. 使用<bean:message>和其他组件......................................................................389 13.4. 本地化其他组件.................................................................................................389 13.4.1. 本地化Struts Validator.......................................................................................389 13.4.2. 本地化 Tiles........................................................................................................390 13.4.3. 本地化集合.........................................................................................................391 13.5. 小结.....................................................................................................................392 14. 在 STRUTS中使用数据服务...............................................394 14.1. 加快步伐.............................................................................................................395 14.1.1. 从模式的角度来看 JDBC..................................................................................395 14.1.2. 数据服务介绍.....................................................................................................396 14.2. 业务层详解.........................................................................................................397 14.2.1. Struts—拿出你自己的模型................................................................................397 14.2.2. 定义业务对象.....................................................................................................397 14.2.3. 设计业务对象.....................................................................................................399 14.2.4. 设计结果.............................................................................................................399 14.2.5. 将业务与 Action 混合 (不)...............................................................................400 14.2.6. 一个简单例子.....................................................................................................400 14.3. 在 Struts 中使用 ProcessBean 和 JDBC.........................................................401 14.3.1. 介绍 ProcessBean...............................................................................................402 14.3.2. ProcessBean 作为传输对象..............................................................................403 14.3.3. 组装 ProcessBean...............................................................................................404 14.3.4. 执行 ProcessBean...............................................................................................404 14.3.5. 访问数据服务.....................................................................................................405 14.3.6. 循着典型流程.....................................................................................................407 14.3.7. 编码业务活动.....................................................................................................407 14.3.8. ProcessBean 作为持久层..................................................................................410 14.3.9. 使用其它持久层技术.........................................................................................411 14.4. 使用结果对象.....................................................................................................411 14.4.1. ResultList 方法..................................................................................................411 14.5. 使用助手 Action................................................................................................413 14.6. 使用 Lucene.......................................................................................................414 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 13 页 http://www.blogjava.net/steelhand 14.6.1. 再看 searchProperties.........................................................................................415 14.7. 使用内容联合.....................................................................................................419 14.7.1. 摘要 RSS.............................................................................................................419 14.7.2. 获取和渲染.........................................................................................................420 14.7.3. 联合 RSS.............................................................................................................421 14.8. Struts中使用 EJB.............................................................................................423 14.8.1. 会话外观.............................................................................................................424 14.8.2. 数据传输对象.....................................................................................................424 14.8.3. 实现模式.............................................................................................................424 14.9. 小结.....................................................................................................................425 15. ARTIMUS:全力以赴实际应用..............................................426 15.1. 框架之框架.........................................................................................................427 15.2. Scaffold—工具包的诞生...................................................................................427 15.3. 关于 Artimus.....................................................................................................428 15.3.1. 构建Artimus.......................................................................................................429 15.4. 部署描述符(web.xml)........................................................................................430 15.4.1. 配置Artimus.......................................................................................................432 15.4.2. 应用属性.............................................................................................................432 15.4.3. 连接适配器.........................................................................................................432 15.4.4. 启动优先级.........................................................................................................432 15.4.5. 其它配置设置.....................................................................................................432 15.4.6. 安全设置.............................................................................................................433 15.4.7. 我们所保护的 URL............................................................................................433 15.4.8. 授权角色.............................................................................................................433 15.4.9. 认证策略.............................................................................................................433 15.5. ArtimusServlet...................................................................................................433 15.5.1. 我们的子类.........................................................................................................435 15.5.2. 我们的字符串常数.............................................................................................435 15.5.3. 我们的扩展点.....................................................................................................435 15.6. 应用和 SQL属性文件.......................................................................................436 15.7. index.jsp.............................................................................................................437 15.8. 全局转发.............................................................................................................438 15.9. /find/Recent........................................................................................................440 15.9.1. 扩展bean............................................................................................................443 15.9.2. super.execute.......................................................................................................444 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 14 页 http://www.blogjava.net/steelhand 15.9.3. getArticles...........................................................................................................444 15.9.4. 访问.findByLast 和 ResultList..........................................................................444 15.9.5. ProcessResult......................................................................................................445 15.9.6. ProcessAction......................................................................................................446 15.10. tiles.xml 和 Article.jsp......................................................................................447 15.10.1. useAttribute.........................................................................................................449 15.10.2. baseStyle.............................................................................................................450 15.10.3. title ......................................................................................................................450 15.10.4. Tiles.....................................................................................................................450 15.11. result.jsp.............................................................................................................452 15.11.1. legend..................................................................................................................454 15.11.2. isResult?..............................................................................................................454 15.11.3. RESULT..............................................................................................................454 15.12. Article actions....................................................................................................460 15.13. view.jsp...............................................................................................................463 15.13.1. 大标题.................................................................................................................465 15.13.2. 内容.....................................................................................................................465 15.13.3. contributor...........................................................................................................465 15.14. edit.jsp................................................................................................................466 15.14.1. 文章内容.............................................................................................................468 15.14.2. Contributed / contributor.....................................................................................469 15.14.3. Article ID............................................................................................................469 15.14.4. Validation............................................................................................................469 15.15. /do/Menu............................................................................................................471 15.15.1. logon...................................................................................................................474 15.15.2. menu....................................................................................................................474 15.15.3. 我们的控件.........................................................................................................475 15.15.4. saveResult...........................................................................................................476 15.15.5. Our results...........................................................................................................476 15.16. menu.jsp.............................................................................................................476 15.16.1. /find/Hours..........................................................................................................479 15.16.2. /menu/Find..........................................................................................................479 15.16.3. /find/Last.............................................................................................................480 15.16.4. /menu/Contributor...............................................................................................481 15.16.5. /menu/Manager...................................................................................................482 15.17. 小结.....................................................................................................................482 16. 回家:迁移到 STRUTS 1.1...................................................483 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM Translated By: Eric Liu(铁手) [email protected](MSN) 第 15 页 http://www.blogjava.net/steelhand 16.1. 下一站, Struts 1.1..........................................................................................484 16.1.1. Struts 1.1 特征摘要...........................................................................................485 16.1.2. 我们可使用的特征.............................................................................................487 16.2. 基线化变更.........................................................................................................487 16.2.1. Struts 1.1的 Tiles...............................................................................................488 16.2.2. Struts 1.1的Validator........................................................................................491 16.2.3. Struts 1.1 的ReloadAction................................................................................492 16.2.4. 其他对web.xml 和 struts-config.xml的基线变更...........................................492 16.2.5. message.jsp (1.1).................................................................................................492 16.2.6. form.jsp (1.1).......................................................................................................493 16.2.7. MenuCreate (1.1)................................................................................................495 16.2.8. 向前.....................................................................................................................496 16.3. 任意修改.............................................................................................................496 16.3.1. 修改表单为DynaActionForm............................................................................496 16.3.2. 基于Action的安全............................................................................................498 16.3.3. Action 路径修改.................................................................................................500 16.3.4. Struts 1.1中的应用资源....................................................................................501 16.4. 小结.....................................................................................................................502 17. VELOCITY: JSP的替代选择..............................................503 17.1. 转移到 Velocity 模板........................................................................................504 17.2. 改变成就框架.....................................................................................................504 17.3. 我们为何需要 Velocity......................................................................................504 17.3.1. Velocity 轻巧、快速和多能.............................................................................505 17.3.2. Velocity 与其它和谐共处.................................................................................505 17.3.3. Velocity 简单而强大.........................................................................................505 17.4. 在 Web应用中使用 Velocity............................................................................505 17.4.1. 与其他Servlet 资源使用 Velocity....................................................................507 17.4.2. 通过上下文属性使用Velocity..........................................................................508 17.4.3. Velocity 如何与 Struts 共处..............................................................................509 17.4.4. VelocityStruts 工具包........................................................................................509 17.4.5. Struts View 工具.................................................................................................510 17.5. 我们的 logon 模板............................................................................................510 17.6. 设置 VelocityViewServlet..................................................................................513 17.6.1. 安装VelocityViewServlet..................................................................................514 17.6.2. 部署Velocity servlet.........................................................................................
第一部分 Spring基础  第1章 开始Spring之旅   1.1 为什么使用Spring    1.1.1 J2EE开发者的一天    1.1.2 Spring的承诺   1.2 Spring是什么   1.3 开始Spring之旅   1.4 理解反向控制    1.4.1 依赖注入    1.4.2 IoC应用    1.4.3 企业级应用中的IoC   1.5 应用AOP    1.5.1 AOP介绍    1.5.2 AOP使用    1.5.3 企业级应用中的AOP   1.6 Spring比较    1.6.1 比较Spring和EJB    1.6.2 关于其他轻量级容器    1.6.3 Web框架    1.6.4 持久层框架   1.7 小结  第2章 装配Bean   2.1 容纳你的Bean    2.1.1 BeanFactory介绍    2.1.2 使用应用上下文    2.1.3 Bean的生命   2.2 基本装配    2.2.1 使用XML装配    2.2.2 添加一个Bean    2.2.3 通过Set方法注入依赖    2.2.4 通过构造函数注入依赖   2.3 自动装配    2.3.1 处理自动装配中的不确定性    2.3.2 混合使用自动和手动装配    2.3.3 缺省自动装配    2.3.4 何时采用自动装配   2.4 使用Spring的特殊Bean    2.4.1 对Bean进行后处理    2.4.2 对Bean工厂进行后处理    2.4.3 分散配置    2.4.4 定制属性编辑器    2.4.5 解析文本信息    2.4.6 监听事件    2.4.7 发布事件    2.4.8 感知其他Bean   2.5 小结  第3章 创建切面   3.1 AOP介绍    3.1.1 定义AOP术语    3.1.2 Spring的AOP实现   3.2 创建通知    3.2.1 前置通知    3.2.2 后置通知    3.2.3 环绕通知    3.2.4 异常通知    3.2.5 引入通知   3.3 定义切入点    3.3.1 在Spring中定义切入点    3.3.2 理解Advisor    3.3.3 使用Spring的静态切入点    3.3.4 使用动态切入点    3.3.5 切入点实施   3.4 创建引入    3.4.1 实现IntroductionInterceptor    3.4.2 创建一个引入Advisor    3.4.3 谨慎使用引入通知   3.5 使用ProxyFactoryBean   3.6 自动代理    3.6.1 BeanNameAutoProxyCreator    3.6.2 DefaultAdvisorAutoProxyCreator    3.6.3 元数据自动代理   3.7 小结 第二部分 Spring在业务层的应用  第4章 征服数据库   4.1 学习Spring的DAO理念    4.1.1 理解Spring的DataAccessException    4.1.2 与DataSource一起工作    4.1.3 一致的DAO支持   4.2 在Spring中使用JDBC    4.2.1 JDBC代码的问题    4.2.2 使用JdbcTemplate    4.2.3 把操作创建成对象    4.2.4 自增键   4.3 介绍Spring的ORM框架支持   4.4 用Spring整合Hibernate    4.4.1 Hibernate概览    4.4.2 管理Hibernate资源    4.4.3 用HibernateTemplate访问Hibernate    4.4.4 HibernateDaoSupport的子类   4.5 Spring和JDO    4.5.1 配置JDO    4.5.2 用JdoTemplate访问数据库   4.6 Spring和iBATIS    4.6.1 配置SQL Map    4.6.2 使用SqlMapClientTemplate   4.7 Spring和OJB   4.8 小结  第5章 事务管理   5.1 理解事务    5.1.1 仅用4个词解释事务    5.1.2 理解Spring对事务管理的支持    5.1.3 介绍Spring的事务管理器   5.2 在Spring中编写事务   5.3 声明式事务    5.3.1 理解事务属性    5.3.2 声明一个简单的事务策略   5.4 通过方法名声明事务    5.4.1 使用NameMatchTransactionAttributeSource    5.4.2 名称匹配事务的捷径   5.5 用元数据声明事务    5.5.1 用元数据来书写事务属性    5.5.2 用Commons Attributes声明事务   5.6 修剪事务声明    5.6.1 从父TransactionProxyFactoryBean继承    5.6.2 自动代理事务   5.7 小结  第6章 远程调用   6.1 Spring远程调用概览   6.2 与RMI一起工作    6.2.1 连接RMI服务    6.2.2 输出RMI服务   6.3 使用Hessian和Burlap的远程调用    6.3.1 访问Hessian/Burlap服务    6.3.2 用Hessian或Burlap公开Bean的功能   6.4 使用HTTP invoker    6.4.1 通过HTTP访问服务    6.4.2 把Bean作为HTTP服务公开   6.5 使用EJB    6.5.1 访问EJB    6.5.2 用Spring开发EJB   6.6 使用JAX-RPC的Web Service    6.6.1 用JAX-RPC应用一个Web Service    6.6.2 在Spring里置入一个Web Service   6.7 小结  第7章 访问企业服务   7.1 从JNDI中获取对象    7.1.1 使用传统的JNDI    7.1.2 代理JNDI对象   7.2 发送电子邮件   7.3 调度任务    7.3.1 使用Java Timer调度任务    7.3.2 使用Quartz调度器    7.3.3 按调度计划调用方法   7.4 使用JMS发送消息    7.4.1 使用JMS模板发送消息    7.4.2 消费消息    7.4.3 转换消息   7.5 小结 第三部分 Spring在Web层的应用  第8章 建立Web层   8.1 开始Spring MVC之旅    8.1.1 请求生命中的一天    8.1.2 配置DispatcherServlet    8.1.3 Spring MVC概述   8.2 将请求映射到控制器    8.2.1 将URL映射到Bean名称    8.2.2 使用SimpleUrlHandlerMapping    8.2.3 使用元数据映射控制器    8.2.4 使用多映射处理器   8.3 用控制器处理请求    8.3.1 编写一个简单的控制器    8.3.2 处理命令    8.3.3 处理表单提交    8.3.4 用向导处理复杂表单    8.3.5 在一个控制器中处理多个动作    8.3.6 使用一次性控制器   8.4 视图解析    8.4.1 使用模板视图    8.4.2 解析视图Bean    8.4.3 选择视图解析器   8.5 使用Spring的绑定标签   8.6 处理异常   8.7 小结  第9章 其他视图技术   9.1 使用Velocity模板    9.1.1 定义Velocity视图    9.1.2 配置Velocity引擎    9.1.3 解析Velocity视图    9.1.4 格式化日期和数字    9.1.5 暴露请求和会话属性    9.1.6 在Velocity中绑定表单域   9.2 使用FreeMarker    9.2.1 构造一个FreeMarker视图    9.2.2 配置FreeMarker引擎    9.2.3 解析FreeMarker视图    9.2.4 在FreeMarker中绑定表单域   9.3 使用Tile设计页面布局    9.3.1 Tile视图    9.3.2 Tile控制器   9.4 产生非HTML输出    9.4.1 产生Excel工作表    9.4.2 产生PDF文档    9.4.3 产生其他非HTML文件   9.5 小结  第10章 使用其他Web框架   10.1 使用Jakarta Struts    10.1.1 注册Spring插件    10.1.2 实现知晓Spring的Struts action    10.1.3 委托action   10.2 使用Tapestry    10.2.1 替换Tapestry引擎    10.2.2 装载Spring Bean至Tapestry页面中   10.3 集成JavaServer Faces    10.3.1 解析变量    10.3.2 发布请求已处理事件   10.4 集成WebWork    10.4.1 WebWork1    10.4.2 XWork/WebWork2   10.5 小结  第11章 保护Spring 应用程序   11.1 Acegi安全系统介绍    11.1.1 安全拦截器    11.1.2 认证管理器    11.1.3 访问决策管理器    11.1.4 运行身份管理器   11.2 管理身份验证    11.2.1 配置ProviderManager    11.2.2 根据数据库验证身份    11.2.3 根据LDAP仓库进行身份验证    11.2.4 基于Acegi和Yale CAS实现单次登录   11.3 控制访问    11.3.1 访问决策投票    11.3.2 决定如何投票    11.3.3 处理投票弃权   11.4 保护Web应用程序    11.4.1 代理Acegi的过滤器    11.4.2 强制Web安全性    11.4.3 处理登录    11.4.4 设置一个安全上下文    11.4.5 确保通道安全性    11.4.6 使用Acegi的标签库   11.5 保护方法调用    11.5.1 创建一个安全切面    11.5.2 使用元数据保护方法   11.6 小结

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值