<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 |
支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。 |