论坛首页 Java企业应用论坛

我的struts2配置,间接实现零配置

浏览 12678 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-20  
jxd1976 写道
colin4k 写道
另外以上代码是经测试通过的,今天加上了事务的控制,自己写了个Interceptor


这个零配置不错,把事务控制的代码也贴上来,学习一下。

web根目录下的index.jsp怎么处理?


事务控制主要有以下几个步骤,
第一、TransactionInterceptor的部分代码
protected String doIntercept(ActionInvocation invocation) throws Exception {
		String result = null;
		PlatformTransactionManager transactionManager = (PlatformTransactionManager) BeanLoader
				.getBean("transactionManager");
		DefaultTransactionDefinition def = new DefaultTransactionDefinition();
		
		def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
		def.setReadOnly(false);
		TransactionStatus transactionStatus = transactionManager
				.getTransaction(def);
		try {
			result = invocation.invoke();
			transactionManager.commit(transactionStatus);
		}
		catch (Exception e) {
			transactionManager.rollback(transactionStatus);
			logger.error("action error,rollback transaction.");
			throw e;
		}
		return result;
	}

第二、定义用于事务的拦截器

<interceptor name="transactionInterceptor" class="TransactionInterceptor">
	<param name="includeMethodsPrefix">act,deal</param>
</interceptor> 

includeMethodsPrefix参数用于定义以这些字符串开头的方法都采用事务控制。

第三、配置拦截器到Action上,这个就不用写了。
0 请登录后投票
   发表时间:2007-12-04  
做验证好像就有问题了,楼主碰到过吗,你是怎么做的
0 请登录后投票
   发表时间:2007-12-04  
struts2的热衷者们,我有个问题想请教一下.

在linux resin3 环境下,你们有没有遇到问题?
0 请登录后投票
   发表时间:2007-12-16  
colin4k 写道

struts.xml这样配置
<action name="*/*" method="{2}" class="workbench.web.actions.{1}Action">
   <result name="custom">/view/{1}/${target}.jsp</result>
</action>


struts.properties的配置:
struts.objectFactory = spring
struts.objectFactory.spring.autoWire = name
struts.devMode = true
struts.enable.DynamicMethodInvocation = false
struts.action.extension = 
struts.enable.SlashesInActionNames = true



URL:http://localhost:8080/workbench/User/test


跟着做了,结果不成功,Struts2的jar版本也是最新的。
不知道楼主能否把配制说详细些,如web.xml里的配制等,
最好能给个简单可运行的Demo了。
0 请登录后投票
   发表时间:2008-01-30  
涉及到校验的话没有input怎么返回,struts会报错的
0 请登录后投票
   发表时间:2008-01-31  
我不太清楚,楼主为什么不打开struts.enable.DynamicMethodInvocation = true,难道打开这个参数,会有问题吗?
0 请登录后投票
   发表时间:2008-02-12  
kissbey 写道
涉及到校验的话没有input怎么返回,struts会报错的

我也是碰到这个问题
不知道楼主有什么解决
<result name="input">{1}.jsp</result>
0 请登录后投票
   发表时间:2008-02-12  
<action name="identity_*_*" method="{1}" class="identityAction">
            <result name="input">{2}.jsp</result>
            <result>login_ok.jsp</result>
</action>
补充一下,用这种配置也可以解决验证后返回不同页面的问题
但是action的name就变得繁琐点
不知道这样有无隐患
0 请登录后投票
   发表时间:2008-03-19  
全都用固定规则固定好 感觉有点ror的感觉
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics