上传文件?

 <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

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

posted @ 2020-11-29 14:05  咔啡  阅读(64)  评论(0编辑  收藏  举报