Struts1.2(1)

1.EL表达式的扩展
EL表达式目前只用在对象上,无法在对象的属性上使用.
  自定义EL表达式
   1)先写一个类,每个静态方法说明了一种作用.
   2)写一个定义文件,声明类,方法和使用标签的name
   3)在jsp里声明这个定义文件
   4)使用格式是:${前缀:定义文件里的name(元素)}
2.服务器验证
1)自己写验证代码
  a.先写好jsp的表单,做好action
  b.写好form,注意要继承ActionForm.重写里面的validate方法,该方法是在验证之前被调用的钩子方法
  c.在valiedate做验证判断,注意返回值是ActionErrors对象.通过添加内容来做判断:     errors.add("a",new ActionMessage("b"));
  d.因为要new ActionMessage对象,所以必须要写资源文件.
  e.ActionErrors对象被存到request里.这里的a就是request里的key                                                                                  
  f.在jsp里调用的时候要先声明html.tld.然后用这个语句调用 <html:errors property="a" />
2)使用验证框架
  a.创建一个类继承org.apache.struts.validator.ValidatorForm.
  b.在config-xml里添加pulg-in标签,以便把这个组件初始化.
  c.配置validation.xml.form标签里面的name就是form放在request里的key,也就是config-xml里的attributy.
  d.field里的属性property写的是form的属性名,depends是规则.
  e.arg标签指的是占位符的写法.注意这里也是要用到资源文件的key.
  f.val标签一般是用来指定mask的规则.
  h.要注意的是注意每个规则的出错信息,要写在资源文件里.
  g.接下来在jsp里的用法跟上面一样.
3.struts的html.tld
  a.重写了jsp里form元素的所有写法.
  b.通过<html:xxx来使用.
  c.自动跟form对象填充起来,使jsp里的代码更简洁.
  d.要注意的是复选框的,若没选择,提交的时候就不会提交这一项.也就是说form里的内容不会变.
  e.解决上面的方法就是ActionForm类中增加一个rest方法,这个方法是在填充form之前被调用.在这个方法里初始化属性就可以了.

你可能感兴趣的:(c,xml,jsp,struts,REST)