JAVAEE

JAVAEE框架学习——Struts2——拦截器、标签

2018-06-04  本文已影响2人  So_ProbuING

Struts2拦截器架构

拦截器架构

拦截器的生命周期

通过看拦截器的源码我们看到:拦截器的生命周期是随项目的启动而创建,随项目的关闭而销毁

自定义拦截器

创建方式

创建方式1

图片.png

创建方式2

图片.png

创建方式3

图片.png

拦截器API

放行

图片.png

前后处理

图片.png

不放行 直接跳转到一个结果界面

图片.png

不执行后续的拦截器以及Action,直接交给Result处理结果,进行页面跳转

拦截器配置

注册拦截器

 <!--注册拦截器-->
        <interceptors>
            <interceptor name="myInter3" class="cn.probuing.struts2lesson.interceptorself.MyInterceptor3"/>

注册拦截器栈

<!--注册拦截器栈-->
            <interceptor-stack name="mystack">

引入自己的拦截器和默认拦截器

 <!--引入自己的拦截器-->
                <interceptor-ref name="myInter3"/>
                <!--引入默认的拦截器栈-->
                <interceptor-ref name="defaultStack"/>

指定默认拦截器栈

 <!--指定默认拦截器栈 指定包中默认的拦截器栈-->
        <default-interceptor-ref name="mystack"/>

单独为action指定拦截器

 <action name="Interceptor" class="cn.probuing.struts2lesson.interceptorself.Interceptor1Demo">
            <!--为action单独指定走哪个拦截器栈-->
            <!--<interceptor-ref name="mystack"/>-->
            <result name="success" type="dispatcher">/index.jsp</result>

        </action>

定制拦截方法

                <interceptor-ref name="myInter3">
                    <!--指定哪些方法拦截哪些方法不拦截-->
                    <param name="excludeMethods">add,delete</param>
                    <!--指定哪些方法拦截 exclude include 只能有一个-->
                    <!--<param name="includeMethods">update,find</param>-->
                </interceptor-ref>

Struts2标签

历史

标签来源

标签结构

图片.png

控制标签

遍历标签

<%--遍历标签--%>
<%--遍历方式1--%>
<s:iterator value="#list">
    <%--取栈顶的元素--%>
    <s:property/><br>
</s:iterator>
<%--遍历方式2--%>
<s:iterator value="#list" var="name">
    <s:property value="#name"/>
    <br>
</s:iterator>
<%--计数--%>
<s:iterator begin="1" end="100" step="1">
    <s:property/>
</s:iterator>

判断标签

<!-- 判断标签 -->
<s:if test="#list.size()==4">
    <br>

    list的长度为4

</s:if>
<s:elseif test="#list.size()==4">
    <br>
    list的长度为3
</s:elseif>
<s:else>
    list 不3不4
</s:else>

数据标签 property

图片.png

表单标签

表单标签

非标单标签

图片.png 图片.png
上一篇下一篇

猜你喜欢

热点阅读