免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 934 | 回复: 0
打印 上一主题 下一主题

Struts 使用要点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-13 21:03 |只看该作者 |倒序浏览

1.概述
    Struts大家都很熟悉,不再详细介绍,另请请参阅
1.
Pragmatic Struts
:SpringSide推荐的最新最Pragmatic用法。
2.
SpringSide的Struts封装
,SpringSide封装的Struts的CRUD Action基类,默认拥有CRUD的方法,大家可以自行扩展,或者这参考其思路重新封装。
1.1 参考书籍
《Jakarta Struts Cookbook》2005 O'Reilly,在
铁手的博客


上有部分中文翻译。
2. Spring与Struts的整合
2.1 在struts-config.xml中加入ContextLoaderPlugIn
ContextLoaderPlunIn是Struts 1.1+ 的插件,用来为 Struts 的 ActionServlet 加载 Spring的Application Context。这个Context引用 WebApplicationContext (由 ContextLoaderListener 加载) 作为它的父Context。默认的context文件是映射的 ActionServlet 的名字,加上 -servlet.xml后缀。 如果 ActionServlet 在 web.xml 里面的定义是 action, 那么默认的文件就是 /WEB-INF/action-servlet.xml。
格式如下:
"org.springframework.web.struts.ContextLoaderPlugIn"/>
2.2 在Struts-config.xml中加入DelegatingRequestProcessor
用Spring的DelegatingRequestProcessor重载Struts 默认的 RequestProcessor。这样当收到一个针对Action的请求时,DelegatingRequestProcessor会自动从Spring Context中查找对应的Action Bean。
格式如下:
"processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
2.3 建立struts-config.xml与action-servlet.xml中Action与Bean的对应关系
连接 struts-config.xml 和 action-servlet.xml 中的 Action与Bean的桥梁是action 的"path"和 bean 的"name"。如果你在 struts-config.xml 文件中有如下配置:
你必须在 action-servlet.xml 中将 Action bean 的名字定义为 "/users":
设定完以后,action的type属性可以省略不写,因为所有的Action都在Spring Context中寻找。注意这里bean用的是name属性,而不是id,因为"/"在id属性中是非法字符。
3.输入校验与消息显示
      校验依旧比较麻烦,使用commons-validator 1.3版,使用struts 1.3.5带的validator-rules.xml。可选的validator 以 validator-rules.xml 中定义的为准。
3.1  定义  
    注意validaton.xml的头声明需改为1.3
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
        "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
      编写validation.xml,如
"userForm">
            "name" depends="required">
                "user.name"/>
            
并在resources/i18n/messages.properties 里加入需要的message,如user.name = User Name
     struts-config.xml 加入
"org.apache.struts.validator.ValidatorPlugIn">
        "pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
   3.2 客户端JS校验:
   在每个form.jsp的form 加入onsubmit="return validateUserForm(this)", 其中UserForm是validation.xml中的form名
    在jsp最后加入
"userForm" staticJavascript="false" cdata="false"/>
"text/javascript" src="/scripts/validator.jsp"/>">
3.3 服务端校验:
ActionMessages errors = form.validate(mapping, request);
        if (!errors.isEmpty()) {
            saveErrors(request, errors);
            return mapping.findForward("edit");
        }
3.4 出错信息的显示:
   信息参见message.jsp,可显示信息或错误。
   在希望显示信息的地方加入
   如果希望同时在列里面显示出错,加入
-->

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/38180/showart_421585.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP