张孝祥专栏

以平常心工作,远离忧虑,除了让自己快乐,也要让别人快乐!

用户操作
[即时聊天] [发私信] [加为好友]
张孝祥ID:zhangxiaoxiang
556469次访问,排名75好友4人,关注者146
zhangxiaoxiang的文章
原创 129 篇
翻译 0 篇
转载 2 篇
评论 340 篇
张孝祥的公告
《深入体验Java Web开发内幕——高级特性》已经出版。 传智播客开展:先培训,就业后再还款活。详细信息查询:http://www.itcast.cn/goodnews.htm
最近评论
Qianlee:性格决定命运,态度决定一切
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
文章分类
收藏
    相册
    传智播客原创教材展示
    培训
    《深入体验javaweb开发内幕——高级特性》出版啦!
    培训就业后还款计划正式启航
    良少的blog
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 11月23日spring mvc复习培训日记收藏

    新一篇: 11月24日struts培训日记 | 旧一篇: 11月21日spring mvc的表单校验培训日记

    今天复习前些天讲解的spring mvc,要求每个学员都能独立使用SimpleFormController完成表单处理流程,主要由学生自己动手实践。

    写spring mvc的例子程序时,想想spring mvc程序的工作流程,然后根据这个流程一步步进行实施。
    在配置InternalResourceViewResolver时,注意其prefix属性值的最后一定要有“/”。

    AbstractController里面的handleRequest方法为什么被定义成final呢?模板方法模式:一个类自己一个方法调用自己的其他方法,而其他方法由子类来实现。不管内部调用的方法是怎样的流程,外部始终只与那个总的调用方法交互。

    SimpleFormController处理两种请求:显示表单、处理表单提交。显示表单又可以分为两种情况:注册与编辑,对于注册的情况,表单内容应该为空,对于修改信息的情况,表单内容应该有数据。

    formBackingObject总是会返回一个对象的,这个对象就是用于填充表单的,父类返回的对象中的值是空(即成员变量都为默认值),如果子类要返回一个带有信息的对象去填充表单(如编辑信息),那就应该覆盖这个方法。将对象的信息填充到表单中时会有一个问题,例如,int类型的成员变量的初始值为0,那么填充到表单中的信息是0,而不是空白字符串。所以,为了解决这个问题,有人将int改为Integer类型,这样,它的初始值就是null。

    用下面的例子分析显示表单时,为什么也要绑定请求参数到formBackingObject方法返回的对象上。这需要设置bindOnNewForm属性
    1.
      <input type="text" name="email" />
      服务器接受到第1个页的的访问请求后,将返回第2个页面供用户继续填写信息,
    2.

    String email = request.getParameter("email");
    <input type="hidden" name="email" value="<%=email%>"
    <input type="text" name="name" value=""/>
    <input type="password" name="password" value=""/>
    第2个页面中的隐藏字段的值是从第一个页面中获取的的请求参数。
    采用formBackingObject,这个过程可以自动完成。
    其实,可以直接在配置文件中使用SimpleFormController,而不用编写它的子类,也可以演示显示表单和校验的效果。

    思考题:
    AbstractController->AbstractFormController-->SimpleFormController,为什么总是父类干一半后,就留出一个方法让子类继续去干?这就体现了面向对象编程的多态性,这样可以出现完成各种功能的子类。

    一个问题:如果存储到请求域中的属性名中有点(.),那就EL表达式中怎样访问这个属性对象?
    request.setAttribute("error.email",new Errors());
    ${error.email}
    没有找到答案,这可能是根本就不允许出现的规则。


    问题:
    1.对于SimpleFormController显示的表单,如果其提交方式是GET,将继续显示原来的表单,那能否显示出原来的表单数据呢?怎么做?用bindOnNewForm属性。
    2.对于网上和书上介绍的spring的文件上传的例子,在上传大文件时,应该有问题,spring mvc中有没有不用字节数组的解决方案呢?
     

    发表于 @ 2006年11月26日 13:46:00|评论(loading...)|编辑

    新一篇: 11月24日struts培训日记 | 旧一篇: 11月21日spring mvc的表单校验培训日记

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 张孝祥