Struts2--拦截器和常用标签库

Struts2的拦截器

      拦截器(interceptor),拦截是客户端对Action的访问。不能拦截jsp,html等。拦截器与过滤器不同,它更细粒度化的拦截。(拦截Action中的具体的方法)。

      Struts2的执行流程:
      客户端向服务器发送一个Action的请求,执行核心过滤器(doFilter)方法。在这个方法中,调用executeAction()方法,在这个方法内部调用dispatcher.serviceAction();在这个方法内部创建一个Action代理,最终执行的是Action代理中的execute(),在代理中执行的execute方法中调用ActionInvocation的invoke方法。在这个方法内部递归执行一组拦截器(完成部分功能),如果没有下一个拦截器,就会执行目标Action,根据Action的返回的结果进行页面跳转。

   拦截器的定义

      新建一个普通类,实现Interceptor接口或者继承AbstractInterceptor类(一般使用继承方法)
      

    配置拦截器

      方式一:

      方式二:与方式一差不多      

​ 

Struts2的常用标签库

  通用标签

      

      判断标签:<s:if>、<s:elseif>、<s:else> -----scope是往哪个域对象中存值(set标签很少用)
      

      迭代标签:<s:iterator>----迭代map时可以不定义var直接使用<s:property value="key/value">获得key和value,status属性用于判断当前迭代的状态,这里利用status将第3*x次输出的数字变为红色
      

  UI标签

      使用ui标签编写的表单,拥有一些简单的格式(其实就是一个表格),还拥有数据回显功能(主要用处),当后台数据类型转换出错或数据校验出错,重新返回该表单页面时会保留你输入的所有数据,而不是像html表单那样全部清空

原文地址:https://www.cnblogs.com/zy-Luo/p/11033186.html