大大毛 的笔记

  DDM's Note

哪怕没有办法一定有说法,
就算没有鸽子一定有乌鸦,
固执无罪 梦想有价,
让他们惊讶.

posts - 14, comments - 23, trackbacks - 0, articles - 58
   :: 首页 ::  :: 联系 ::  :: 管理

精通Struts笔记--02

Posted on 2006-07-18 22:27 大大毛 阅读(306) 评论(0)  编辑  收藏 所属分类: Struts
2.简单的Struts应用   helloapp

   应用需求:
      1.接受name输入
      2.不允许name为空
      3.如果是特定姓名,则不向其打招呼
      4.满足条件则向其问好

   例程:
      可能由于本需求很简单,因此例程只使用了一个JSP作为视图,从struts-config.xml的设计视图上可以看到逻辑显得很乱

   具体步骤(Myeclipse):
      1.先建一个项目,选择J2EE下的WEB项目
      2.在项目上加入Struts框架
      3.选择struts-config.xml配置文件可进入设计视图
      4.新建一个ActionForm Bean,加入name属性,并根据此ActionForm bean新建一个JSP
      5.新建一个Action,可以自行另取名称(不一定必须与form对应),之后还要在Input的JSP文件中将form 的 action改为对应的Action路径,记住要加.do后缀
      6.在Myeclipse中设置应用服务器,使用Tomcat5
      7.发布

   注意事项:
      ActionForm Bean只能由具体的类进入编辑;
      Action在设计视图上可以加入ActionForward,但是这样做实际上只是在配置文件中进行了配置,还需要在Action中自行编码进行findForward()才能实现跳转;
      Action中设置出ActionErrors后,必须this.saveError(request)才会产生作用;
      Struts配置文件的中文问题:
         在XML配置文件中设置的一个配置文件,实际上是一个缺省配置文件,一个资源对象实际上对应多个配置文件(多语言),文件在名称上有要求,据此可以配置多个语言的资源文件;
         Struts实际上是依靠多个资源文件来实现国际化;
         Eclipse自身对于配置文件采用的编码方式是ISO8859,因此用它编辑配置文件后,再打开会是一些问号,JSP页面也会显示不正常,需要使用JDK的native2ascii来手工转码,对于某些版本的Eclipse提供了自行设置编码的设置.
         用JInto插件可以简化操作,并同时对多个语言的资源文件进行编辑(对照着,很E啊)
         多语言效果的测试:
            IE中的Internet选项/语言,可以看到当前IE所使用的语言,选择需要测试的语言,应用后刷新或重开IE窗口即可(不过测试中失败了好多次).
            ?:我试着选择一个没有对应资源的语言,但是却没有看到那种使用缺省资源文件的效果,还是中文的.
         按书上的,写成ActionErros.add("key",new ActionMessage("key"));的形式在本机上出类转换异常,改成ActionErros("key",new ActionError("key"));的方式通过;
         <html:cancel />标签:
            由ActionForm新建一个JSP时,Form域中是放上了submit和cancel两个按钮的.
            cancel的用途还不太清楚,但是它可以完成一个submit动作,而且在使用cancel进行提交时,ActionForm的校验没有起作用,直接提交到Action进行处理,从而忽略了视图层的检验

   这一章中有两点映象:
      1.书上的例程,在各处都广泛地引用到了配置文件,这应该是出于国际化的要求,对于大型项目来说是很重要的;
      2.校验的问题,该例程将空值校验放入ActionForm检验中,划归于视图层的检验,而对于特定姓名拒绝打招呼这样的检验,放入Action中,属于业务逻辑.

只有注册用户登录后才能发表评论。


网站导航:
 

i am ddm