本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告
本博客在此声明所有文章均为转摘,只做资料收集使用。并无其他商业用途。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:210
评论数量:205
留言数量:-19
访问次数:922913
建立时间:2007年5月10日




[struts2]Strus 2的新表单标志的使用
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/11/11 15:36:47

Struts 2为大家提供了不少常用的很酷的表单标志,简化了我们程序员的工作。不过,由于这些都是新标志,大家可能在使用上还存在不少疑问。本文将就朋友们的回复、留言或Email上的问题,分别对这些酷标志进行讲述。 表单标志使用小技巧 Struts 2的表单标志在输出(render)HTML时,使用了模板的概念,增加了复杂性(因为它不像Struts 1.x的表单标志,它通常都是一个标志对应HTML的一个元素),因此大家在使用时,需要一些技巧: Struts 2的UI标志的表单标志默认是以表格布局,按钮是右对齐的。如果你不喜欢此风格,你可以简单地将<s:form />标志的“theme”属性设为“simple”,然后用以往的做法自已布局表单元素(注意:此法有利有弊,弊就是当你将“theme”属性设为“simple”时,表单标志以最简单方式输出HTML,所以你可能失去一些默认输出提供的便利,如:友好的错误信息的显示,或客户端的表单验证等)。当然更好的做法是通过CSS或自定义主题(theme)然后应用到整个应用程序,这样可以获


阅读全文(1917) | 回复(0) | 编辑 | 精华 | 删除
 


[struts2]Struts 2中的OGNL
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/11/11 15:29:10

本人是一个EL(Expression Language,以下译为表达式语言)的支持者。因为我对<% %>写法极为反感,忘记了在那本书上看到的一句话——“使用标志(Tag)的一个目的就是避免在JSP页面中出现过多的<%%>的语句,使页面与后台代码分离。” 表达式语言主要有以下几大好处: 避免(MyType) request.getAttribute()和myBean.getMyProperty()之类的语句,使页面更简洁; 支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能; 简单明了地表达代码逻辑,使用代码更可读与便于维护。 Struts 2中的表达式语言 Struts 2支持以下几种表达式语言:


阅读全文(8011) | 回复(4) | 编辑 | 精华 | 删除
 


[struts2]在Struts 2.0中实现表单数据校验(Validation)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/11/9 22:32:42

All Input Is Evil!
阅读全文(1965) | 回复(0) | 编辑 | 精华 | 删除
 


[struts2]转换器(Converter)——Struts 2.0中的魔术师
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/11/9 21:58:23

在我已往的Struts 1.x项目经验中,有个问题不时的出现——在创建FormBean时,对于某个属性到底应该用String还是其它类型? 开发Web应用程序与开发传统桌面应用程序不同,Web应用程序实际上是分布个不同的主机(当然也可以同一个主机,不过比较少见)上的两个进程之间互交。这种互交建立在HTTP之上,它们互相传递是都是字符串。换句话说, 服务器可以的接收到的来自用户的数据只能是字符串或字符数组,而在服务器上的对象中,这些数据往往有多种不同的类型,如日期(Date),整数(int),浮点数(float)或自定义类型(UDT)等,如图1所示。因此,我们需要服务器端将字符串转换为适合的类型。

阅读全文(1880) | 回复(0) | 编辑 | 精华 | 删除
 


[struts2]在Struts 2.0中使用国际化(i18n)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/11/9 21:05:23

国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web框架,它都是必须掌握的技能。 其实,Struts 1.x在此部分已经做得相当不错了。它极大地简化了我们程序员在做国际化时所需的工作,例如,如果您要输出一条国际化的信息,只需在代码包中加入FILE-NAME_xx_XX.properties(其中FILE-NAME为默认资源文件的文件名),然后在struts-config.xml中指明其路径,再在页面用<bean:message>标志输出即可。 不过,所谓“没有最好,只有更好”。Struts 2.0并没有在这部分止步,而是在原有的简单易用的基础上,将其做得更灵活、更强大。 国际化Hello World 下面让我们看一个例子——HelloWorld。这个例子演示如何根据用户浏览器的设置输出相应的HelloWorld。 在Eclipse创建工程配置开发和运行环境(如果对这个步骤有问题,可以参考我早前的文章《

阅读全文(2129) | 回复(0) | 编辑 | 精华 | 删除
 


[struts2]常用的Struts 2.0的标签库
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/11/9 10:49:18

  在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。我的E-MAIL:Max.M.Yuan@gmail.com。
在介绍常用标志前,我想先从总体上,对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。

阅读全文(5266) | 回复(0) | 编辑 | 精华 | 删除
 


[struts2]Starting Struts2--Core Components(4) (翻译)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/10/27 13:30:12

Results / View Technologies 目前为止的所有例子,都是假定JSP为渲染视图的技术.尽管它可能是最普通的,但它决不是渲染结果的唯一方法. 结果类型和视图技术的使用紧密相联.在前面的章节,我们看到如果"type"属性无值或是值为"dispatcher",就会将使用JSPs来渲染.在Struts2应用中,还有三种其他的技术可以替换JSPs: Velocity Templates Freemarker Templates XSLT Transformations 记住,你同样可以从现有的视图技术实现一种新的结果类型.那时你将获得额外的可用结果. 除了个别的语法不同,Freemarker和Velocity都与JSP非常相似.所有的action的属性(通过getter方法)在模版中都是可用的,以及JSP标签库和在标签库内使用OGNL.在actions配置中可以很容易的将JSP模版的名称替换成Velocity或是Fre

阅读全文(2479) | 回复(0) | 编辑 | 精华 | 删除
 


[struts2]Starting Struts2--Core Components(3) (翻译)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/10/27 13:29:22

  Result Types 从action生成结果,并返回组用户不同的结果值,不都需要相同的类型.结果"success"可以渲染为一JSP页面,但结果"error"可能需要发送一个HTTP头返回给浏览器. 结果的类型使用"type"属性在结果节点配置.与"name"属性相似,这个属性也有一个默认值-"dispatcher"-将渲染JSPs.大多数的时间,你将使用所提供的结果类型,但有时也可能提供自定义的实现. Request and Form Data 为了要做出Action应该如何工作的决定,并且提供数据的数据库持久对象,Action可能需要从请求字符串中访问值,并生成数据. Struts2沿序JavaBean的方式-如果你想访问数据,你需要为字段提供一个getter和setter方法.访问请求字符串和form里的值是一样的.每个请求字符串或是Form里的值都是一个简单的名值对,所以为一个特定的名称赋值,需在action里

阅读全文(2518) | 回复(1) | 编辑 | 精华 | 删除
 


[struts2]Starting Struts2--Core Components(2) (翻译)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/10/27 13:28:58

The Package Tag: <package … />被用于配置集合,以便于共享属性,例如拦截器栈或是URL命名空间.通常它由action的配置组成,但它可以包含任何类型的配置信息.它对隔离功能的组织也非常有用,可以更进一步,将其分成不同的配置文件. 这个标签有如下属性: .name--开发人员为包指定的唯一的名称
.extends--此包将扩展的包的名称;扩展包里的所有配置信息(包含action配置),在新包里都是可用的,在新的命名空间之下.
.namespace--命名空间提供了一个URL到包的映射.例如,两个不同的包,命名空间属性分别是"package1"和"package2",URL看起来则是"/myWebApp/package1/my.action"和"/myWebApp/package2/my.ac

阅读全文(1514) | 回复(0) | 编辑 | 精华 | 删除
 


[struts2]Starting Struts2--Core Components(1)(翻译)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/10/27 13:28:18

从一个高度层次来看,Strtsu2属性pull-MVC(或是MVC2)框架;这与传统的MVC框架略有不同,因为action的角色采用模型,而不是控制器,虽然这样有一些重叠."pull"来自于视图从action拉数据,而不是持有一个分开的可用模型对象.

我们知道在概念方面意味着什么,但在执行层面意味着什么?这个模型-视图-控制器模式在Struts2中被实现成了五个核心部分--actions,拦截器,值栈/OGNL,结果类型和结果/视图技术.

图1:The MVC / Struts2 Architecture

图1描述了从Struts2高度层面上的结构, 包含了模型,视图和控制器.控制器是一个实现了Struts2里分派Servlet过滤器以及拦截器,模型实现的actions,视图则是由结果类型和结果的组成.值栈和ONGL提供了

阅读全文(1578) | 回复(0) | 编辑 | 精华 | 删除
 


« 1 2 »



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.141 second(s), page refreshed 144815425 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号