zoukankan      html  css  js  c++  java
  • 上传文件?

     <action name="updateDocument" class="org.fkjava.hrm.action.document.DocumentAction" method="updateDocument">

                     <interceptor-ref name="token"></interceptor-ref>

                     <interceptor-ref name="fileUpload">

                        <!-- 允许上传的文件后缀 -->

                        <param name="allowedExtensions">.doc,.docx,.ppt,.pptx,.xls,.xlsx,.txt</param>

                        <param name="maximumSize">10097152</param>

                     </interceptor-ref>

                     <interceptor-ref name="loginStack"></interceptor-ref>

                     <result>/WEB-INF/jsp/document/updateDocument.jsp</result>

                     <result name="invalid.token">/WEB-INF/jsp/document/updateDocument.jsp</result>

                     <result name="input">/WEB-INF/jsp/document/updateDocument.jsp</result>

             </action>

    动态方法调用

    ①login!logout.action    

     login是action名称 logout是方法名称

    <a href="chainAction!add.action">add</a>

    ②请求url为UserAction_logout时,将调用到UserAction类的logout方法

    <action name=“*_*" class="org.fkjava.action.{1}" method=“{2}"></action>

    <a href="book_save.action">save</a><br><br>

    ③如果请求是login.action则跳转到login.jsp

    <action name="*" >

    <result>/{1}.jsp</result>

    </action>

    以上配置*是通配符,{1}表示第一个*。

    过滤器自定义:继承AbstractInterceptor实现intercept方法

    return user==null?Action.LOGIN:invocation.invoke();

    申明式事物

    •  <tx:advice id="txAdvice" transaction-manager="transactionManager">  
    •         <tx:attributes>  
    •             <tx:method name="add*" propagation="REQUIRED" />  
    •             <tx:method name="del*" propagation="REQUIRED" />  
    •             <tx:method name="update*" propagation="REQUIRED" />  
    •             <tx:method name="get*" propagation="NOT_SUPPORTED"  
    •                 read-only="true" />  
    •             <tx:method name="doComplexLogic" propagation="NESTED"  
    •                 isolation="REPEATABLE_READ" timeout="1000" rollback-for="java.lang.Exception"  
    •                 no-rollback-for="com.mysrc.service.CustomRuntimeException" />  
    •         </tx:attributes>  
    •     </tx:advice>  
    •   
    •     <!-- Spring AOP config -->  
    •     <aop:config>  
    •         <!-- 切入点 -->  
    •         <aop:pointcut id="studentServicesPointcut"  
    •             expression="execution(* com.mysrc.service.StudentService.*(..))" />  
    •         <!-- <aop:pointcut id="newServicesPointcut2" expression="execution(* com.model.*.*(..))"   
    •             /> -->  
    •         <aop:advisor advice-ref="txAdvice" pointcut-ref="studentServicesPointcut" />  
    •         <!-- <aop:advisor advice-ref="txAdvice" pointcut-ref="newServicesPointcut2"   
    •             /> -->  
    •     </aop:config>  

    含义

    REQUIRED

    支持当前事务,如果当前没有事务,就新建一个事务。

    SUPPORTS

    支持当前事务,如果当前没有事务,就以非事务方式执行。

    MANDATORY

    支持当前事务,如果当前没有事务,就抛出异常。

    REQUIRES_NEW

    新建事务,如果当前存在事务,把当前事务挂起。

    NOT_SUPPORTED

    以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

    NEVER

    以非事务方式执行,如果当前存在事务,则抛出异常。

    NESTED

    支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。

    Java Program!
  • 相关阅读:
    mysqladmin
    Android project structure in Eclipse
    Android System Architecture
    The Origins of Data Mining
    Ubuntu 12.04 ‘can not lock /etc/shadow try again later’
    20122013QS计算机专业世界大学排名
    What is Data Mining
    HOW to login MYSQL, Help, and Select Database
    C++函数指针与C#委托之间有何联系
    How to download codes from Google Code
  • 原文地址:https://www.cnblogs.com/programb/p/12995918.html
Copyright © 2011-2022 走看看