`

关注WebWork(二)

阅读更多

        时间过得真快,重新关注WebWork已经有一个多月了,那篇极具潜力的Post——WebWork初体验也终于如我所愿,爬上了阅读排行榜的榜首,而《WebWork In Action》的翻译工作也进行到了第三章。在这段时间里,我收到了不少朋友热情的回复以及诚挚的建议,在这里向各位表示我最衷心的感谢了! //Bow~~~ OK,鞠躬完毕,我要继续耍嘴皮子了,各位朋友准备豆腐板砖啦!:)
        《WebWork In Action》第二章的内容比较简单,作者通过最为经典的HelloWorld例子入手,将读者引入WebWork的世界。例子的讲述采用Step By Step的方式,内容全面而具体,从下载WebWork到典型的Web Application的Layout,从具体标签的讲述到甚至一些诸如服务器访问的端口号等简单问题都有所提及,切实地从初学者的角度进行考虑,降低了初学者入门的难度。对于WebWork的初学者而言,这一章是很好的参考资料。在翻译第二章的过程中,还发现老外写技术文章的特点就是针对一个重要的概念,会反复不断地讲述,不断地强调,以强化读者对概念的理解。
        说完了赞誉的话,就要开始批评了。首先是书中的代码还是出现了遗漏,在讲述高级控制流一节中,作者采用了代码渐变的方式讲述,但是代码变着变着,就把一个方法给漏了:在[ 2.6.1 Taking advantage of ActionSupport ]这一节中,Listing2.2仍然需要getName方法的,否则就没有实现书中所说的以下功能了:当用户输入错误之后,返回input页面,文本框中会将用户之前输入的内容显示出来。事实上,getName这个方法在2.4节中就有定义了。鉴于Listing2.2给出的是完整的代码而非代码段,缺少了getName是不妥的;
        第二个问题则是JSP中所使用的WebWork自定义标签的问题。在[ 2.6.3 Exploring the UI tag library ]这一节中,给出的代码是这样的:

<%@ taglib prefix="ww" uri="webwork" %>
<html>
  
<head>
    
<title>Enter your name</title>
  
</head>
  
<body>
    
<ww:form action="helloWorld">
      
<ww:textfield label="Please enter your name:" name="name"/>
      
<input type="submit"/>
    
</ww:form>
  
</body>
</html>

大家可以看到<ww:textfield>标签中给label和name赋值的时候,只用了双引号。而我依葫芦画瓢去试验这段代码的时候,结果生成的HTML是错误的,输入框的name属性的值为空,form的action也不见了。后来依照WebWork2.1.7提供的Example,我在双引号中加上了单引号,代码变成这样:<ww:textfield label="'Please enter your name:'" name="'name'"/>,错误消除了。现在我知道双引号加单引号的方式是正确的,但我并不能肯定只用双引号的方式一定是错的,毕竟我搜索到的很多例子都是直接使用双引号,哪位朋友对这个比较清楚的,请指点迷津。
        第三个问题还是离不开WebWork的自定义UI标签。看着WebWork的自定义的UI标签,我不得不想到了那个扶不起的阿斗。因为我没有想到时隔一年,WebWork的UI标签库还是没有什么长进。个人对WebWork标签库的评价就是:除了if、property、iterator标签之外,其他与UI相关的标签就是鸡肋,食之无味,弃之可惜。在去年的一篇Post中,我曾经提到了WebWork的UI标签无法直接应用CSS,而这个问题至今仍然没有解决,这不得不让我失望了。同时,我在想,是不是还有其他开源项目改进了WebWork的UI标签呢? 然而我在Google上搜索了半天,也没有找到相应的资源。
        褒与贬都说完了,欢迎各位说说自己的见解,也欢迎多多批评。

       PS:文中提出的问题已经得到解决,有兴趣的朋友请阅读:关注WebWork(三)

分享到:
评论

相关推荐

    webwork in action

    - **UI组件**:第十一章关注于如何使用WebWork提供的UI组件来简化前端开发过程,提高用户体验。 #### 五、高级主题 - **类型转换**:第十二章介绍了WebWork中的类型转换机制,帮助开发者处理表单提交的不同数据...

    Webwork+spring+hibernate集成实例

    AOP则提供了一种处理横切关注点(如日志、事务管理)的方式,使得代码更整洁。Spring还提供了对数据库事务的管理,通过声明式事务处理,开发者无需在业务代码中显式处理事务,提高了代码的可读性和可维护性。 ...

    webwork

    #### 二、WebWork安装与HelloWorld示例 在正式使用WebWork进行开发前,需要搭建好运行环境。以下是具体的步骤: 1. **下载WebWork**:访问官方网址 [https://webwork.dev.java.net/servlets/ProjectDocumentList]...

    spring+ibatis+webwork框架搭配

    具体而言,我们将重点关注如何配置这些框架以实现良好的集成效果,并特别关注在Oracle数据库环境下的应用。 #### 一、Spring框架介绍与配置 **Spring框架**是Java平台上最受欢迎的企业级应用开发框架之一,它提供...

    webwork+spring+hibernate整合开发网络书城 第二讲

    在本课程"WebWork+Spring+Hibernate整合开发网络书城 第二讲"中,我们将深入探讨如何将这三大主流的Java技术框架集成到一个实际的网络应用中,以构建一个功能完善的在线书城系统。WebWork、Spring和Hibernate分别...

    struts1,struts2,webwork,线程安全问题

    - 这种做法降低了开发人员需要关注线程安全问题的复杂度,提高了开发效率。 #### 三、WebWork与线程安全问题 WebWork框架与Struts1相似,也存在线程安全问题,但它提供了更多的配置选项来解决这些问题。 - **...

    Hello World the WebWork way

    - **步骤二**:创建结果页面(hello.jsp) - **展示数据**:结果页面通常是一个JSP文件,用于展示Action返回的数据。在这个例子中,它将展示“Hello, World!”消息及当前时间。 - **步骤三**:配置Action和Result...

    webwork快速入门

    #### 二、WebWork安装与HelloWorld实例 **1. 下载WebWork** 要开始使用WebWork,首先需要从官方网站下载最新的WebWork压缩包。官方网站通常会提供各种版本的WebWork压缩包,其中包含必要的库文件和其他资源。 **2...

    webwork2中文参考手册.pdf

    3. AOP(面向切面编程):通过WebWork2的AOP支持,实现横切关注点,如事务管理。 4. 插件系统:WebWork2有丰富的插件库,如国际化插件、报表插件等,可以快速扩展功能。 六、学习资源 “webwork2中文参考手册”作为...

    WebWork.Spring.Hibernate整合开发网络书城

    同时,Hibernate的二级缓存可以提高数据访问效率,尤其是在处理大量并发请求时。 项目的整合过程中,通常会将WebWork的Action与Spring的Bean结合,让Spring来创建和管理Action实例。同时,Spring会配置Hibernate的...

    spring+hibernate+webwork相关配置

    8. **性能优化**:配置过程中还需要考虑性能优化,如使用二级缓存(Hibernate的EHCache或Spring的Guava Cache)、合理设置事务隔离级别、避免N+1查询等。 由于没有具体的压缩包文件内容,以上内容基于一般情况的...

    JavaWeb开发框架整理.pdf

    Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。 Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己...

    需求文档的编写过程与方法培训大纲

    5. 用户体验需求:关注界面设计、交互流程,提供良好的用户体验。 三、编写需求规格说明书 1. 文档结构:包括封面、目录、引言、需求概述、详细需求、验收标准等部分。 2. 需求描述:使用简洁、明确的语言,避免...

    strut2 ssh2

    SSH2中的第二个“S”代表Spring,这是一个全面的Java企业级应用框架,它包括依赖注入(DI)、面向切面编程(AOP)、事务管理等功能。Spring与Struts2结合使用,可以提供更强大的控制反转(IoC)和解耦,使应用程序更...

    Struts2 框架概述

    Struts2作为一款备受关注的企业级Web开发框架,在Java Web开发领域占据着举足轻重的地位。尽管Struts2声称自身是一个全新的框架,但从其发展历程来看,这种说法仅仅是从与前一代框架Struts1相比较的角度而言的。实际...

    J2EE程序设计 下册 第二版

    ### J2EE程序设计 下册 第二版 #### Struts2框架详解 **Struts2框架**是一个流行的Java Web应用程序框架,它继承了Struts1的一些特性,但在很多方面进行了改进和完善,尤其在架构设计上更为灵活和强大。本书通过一...

    struts2源代码分析

    #### 二、Struts2与WebWork的关系 - **Struts2的核心**:基于WebWork框架的核心组件进行构建,继承了WebWork的优秀特性。 - **设计理念**:Struts2致力于提供更为简洁、灵活且易于使用的API,同时保持与Struts1.x的...

    Struts2的工作机制原理分析及实例.docx

    为了更好地理解Struts2的工作机制,我们需要关注以下几个关键部分: ##### 1. **源代码结构** - **XWork**:Struts2的核心依赖于XWork项目。XWork负责处理用户请求,并决定将请求转发给哪一个Action来执行。 - **...

    struts2.0.11 jar 包

    这个框架是在原有的WebWork框架基础上发展起来的,因此在Struts2中融入了WebWork的许多优秀特性。 1. **Struts2核心组件**: - `struts2-core-2.0.11.1.jar`:这是Struts2的核心库,包含Action、Interceptor、...

Global site tag (gtag.js) - Google Analytics