传知_11_strus1

本文详细介绍了Struts1框架的安装配置过程,包括核心组件ActionForm与Action的使用,以及如何进行输入验证、国际化配置等。同时,还探讨了如何通过配置实现多种请求处理方法。

Struts1:   DEMO

安装Struts1:

1.拷贝JAR

2.配置web.Xml

a)        Struts2采用的是filter(strutsPreAndExecuteFilter)

b)       Struts1采用servlet(ActinServlet),并要配置成load-on-startup

3.增加struts-config配置文件,与web.Xml放同一目录

a)        如果将<forward >元素中的redirect设为false,则

4.继承struts1的Action

. 配置Action

    <form-bean name="ActionForm" type="ActionForm的实现类"/>

    <action path="请求" type="Action处理类" name="ActionForm名字"

     scope="ActionForm放入哪个范围(request)">

. 配置Forward

     <forward name="" path="资源" redirect="true/false"/>

      如果你把<forward.../>元素中的redirect设为了false

      那会导致请求参数,已经你放入request scope的各种属性全部丢失。

. 配置Exception

    <execption type="异常类" path="资源" scope="指定将异常放入哪个范围(request"

    key="国际化信息key"/>

    Actionexecute方法抛出未捕获的异常时,系统转入指定资源。

. Struts 1的一个Action包含多个处理方法。

    a. Action类必须继承 DispatchAction

    b. Action类里可以包含多个处理方法,

       这些处理方法与execute处理方法的方法签名相同。

    c. 配置<action .../>多指定一个parameter属性。

    d. 要让表单发送请求时,额外地多发送一个请求参数,

       该请求参数名为第cparameter所指定的值。

       该请求参数的值决定调用Action的哪个处理方法来处理用户请求。

. 中文参数

    Struts 2 设置一个struts.i18n.encoding常量就够。

    Struts 1要自己扩展ActionServlet,重写process方法。

 

10.输入校验

    a. struts.xml文件中启用输入校验插件。

       <plug-in.../>元素,该元素指定两个输入校验规则文件。

       其中validator-rules.xml由框架提供。

       其他的校验规则文件由用户自己编写,

           这种文件和Struts 2的校验规则文件的作用相同

    b. 拷贝validator-rules.xml文件。

    c. 编写校验规则文件。

        用户可以编写多个校验规则文件,只要在<plugin.../>元素中指出即可。

 

    常用校验器:

       required -   

       validwhen - 类似于Struts 的表达式校验器

       minlength

       maxlength

       mask  - 正则表达式校验器

       byte/short/integer/long/float/double

       date

       range/intrange/floatrange/doublerange

       email/url 其实是正则表达式校验器的示例。

     <field..../>元素里可以出现如下子元素:

        arg :用于为国际化消息填充占位符。

           var :用于为校验器设置参数。

        msg :直接为某个校验器指定错误提示。

                    其作用和Struts 2校验规则文件中<message.../>元素相同。

 

    d. 为校验规则添加标准的错误信息

    e. ActionForm继承ValidatorForm

    f. 配置<action .../>增加validate="true"

    g. 配置<action .../>时增加input属性,该属性指定校验失败时返回哪个页面。

    h. 在页面上使用<h:errors/><h:messages.../>输出错误提示。

 

  JS客户端校验。

    a. 使用<html:javascript .../>导入校验的JS

    b. <html:form .../>元素里增加onsubmit="return validateXxxForm(this);"属性。

Strut1可配置数据源,但不用

Struts1的国际化:

1.加载国际化资源文件。它只采用全局方式来加载资源文件

a)        struts-config.Xml文件中用<message-resource>

使用<bean:message>输出

<bean:message>key指定国际化的key

arg0~arg4用于为国际化消息里的占位符

 

Bean Tags标签被JSP EL表达式取代,除了message标签(用于国际化)其他的都没什么用

HTML Tags标签与struts 2的表单标签对应

1.没有两列布局,相当于struts1simple主题

2.不能输出错误提示

3.Struts1的每个标签基本上就生成一个HTML标签

4.<html:xxx />完成ActionForm和页面上表单之间的绑定

Logic Tags标签被JSTLc:Tag取代

 

strut2中的Actin == strut1中的ActionForm + Action

配置Action时,struts1<forward../>元素和struts2<reults>元素是功能是相同的,

struts1的核心组件:

ActinForm

a)        继承struts1ActionForm

b)       为每个请求参数提供对应的属性,并为它们提供settergetter方法

Action

a)        继承struts1Action

b)       重写execute方法 [W1] 

 servlet2.4以后,TLS文件就不用给它指定一下location,会放到包里自动加载的


 

  ActionString只是String的封装,本质上还是字符串,禁止在代码中构造对象,因为这种方式属性硬编码耦合;

  ActinMapping通常用于创建ActionForward

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

折腾数据折腾代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值