论坛首页 Java企业应用论坛

Tapestry4 不能和Spring整合?

浏览 15095 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-09-03  
Spring文档上说的Tapestry3.0整合 Spring对于Tapestry4.0已经不能用了,找了一下,按照这篇文章上说的:
http://wiki.apache.org/jakarta-tapestry/Tapestry4Spring

我试着整合了一下T4和Spring,但是发现不能运行,单独使用Spring是可以的,当然使用 WebApplicationContext肯定是可以的,但是目的是使用Spring的IOC,我的配置:
<page-specification class="lyo.test.tapestry.Logon">

<inject property="userDao" type="java.lang.Object"  object="spring:userDao"/>

</page-specification>  


Spring:
.......................................................
<bean id="userDao" class="lyo.test.service.UserDAOImpl">
   <property name="sessionFactory">
      <ref bean="MySessionFactory"/>
   </property>
</bean>
...................................................


HiveMind:
<?xml version="1.0"?>

<module id="diaphragma.tapspr" version="1.1.0">

	

		<service-point id="DefaultSpringBeanFactoryHolder" interface="hivemind.lib.DefaultSpringBeanFactoryHolder">

		<invoke-factory>
			<construct autowire-services="false"
				class="diaphragma.tapspr.XSpringBeanFactoryHolderImpl">
				<event-listener
					service-id="hivemind.ShutdownCoordinator" />
				<set-object property="context"
					value="service:tapestry.globals.WebContext" />
			</construct>
		</invoke-factory>
	
</service-point>
</module>


Tomcat 报错:
An exception has occurred. 
You may continue by restarting the session. 

org.apache.hivemind.ApplicationRuntimeException 
Error at context:/html/logon.page, line 8, column 61: Error adding property userDao to class lyo.test.tapestry.Logon: Error: Object provider selector 'UserDAO' is not properly formatted. 
location: context:/html/logon.page, line 8, column 61
3 "-//Apache Software Foundation//Tapestry Specification 4.0//EN"  
4 "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> 
5  
6 <page-specification class="lyo.test.tapestry.Logon"> 
7  
8 <inject property="userDao" type="java.lang.Object" object="spring:userDao"/> 
9  
10 </page-specification>  
 
   
org.apache.hivemind.ApplicationRuntimeException 
Error: Object provider selector 'UserDAO' is not properly formatted. 
Stack Trace: 
org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39); 
org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40); 
org.apache.hivemind.service.impl.ObjectTranslator.translate(ObjectTranslator.java:55); 
$Translator_1061a6ce7aa.translate($Translator_1061a6ce7aa.java); 
org.apache.tapestry.services.impl.InjectedValueProviderImpl.obtainValue(InjectedValueProviderImpl.java:38); 
$InjectedValueProvider_1061a6ce8aa.obtainValue($InjectedValueProvider_1061a6ce8aa.java); 
org.apache.tapestry.enhance.InjectObjectWorker.injectObject(InjectObjectWorker.java:59); 
org.apache.tapestry.enhance.InjectObjectWorker.performEnhancement(InjectObjectWorker.java:43); 
 ...................................................................


有没有哪个朋友成功的整合了Tespestry4和Spring1.2? 
   发表时间:2005-09-03  
我鉴定过了,用的也是Tapestry4Spring 的方式,是可以的。我想你可能是有什么地方没有配置对。

测试代码在公司的机器上,你自己好好检查一下,如果还是有问题。周一我再查一下代码。

其实我觉得Tapestry4Spring的方式麻烦了点,我想到另外一种方式可以解决这个问题。。。。周一我回公司测一下。。。
0 请登录后投票
   发表时间:2005-09-03  
gzdlw 写道
我鉴定过了,用的也是Tapestry4Spring 的方式,是可以的。我想你可能是有什么地方没有配置对。

测试代码在公司的机器上,你自己好好检查一下,如果还是有问题。周一我再查一下代码。

其实我觉得Tapestry4Spring的方式麻烦了点,我想到另外一种方式可以解决这个问题。。。。周一我回公司测一下。。。


faint,难道你们两位是一个公司的?
如果是,我倒是真诚建议javaeye能够开设一个公司论坛的大板块,有点像ASP的意思.
0 请登录后投票
   发表时间:2005-09-03  
gzdlw 写道
我鉴定过了,用的也是Tapestry4Spring 的方式,是可以的。我想你可能是有什么地方没有配置对。

测试代码在公司的机器上,你自己好好检查一下,如果还是有问题。周一我再查一下代码。

其实我觉得Tapestry4Spring的方式麻烦了点,我想到另外一种方式可以解决这个问题。。。。周一我回公司测一下。。。


希望不是用那个 Hivemind,现在Tapestry文档中到处是Hivemind的影子,真不知道Hivemind相对于Spring有什莫优势? 所以我还是希望和Spring整合,而且是使用Spring的IOC模式,而不是使用Spring的"WebApplicationContext"对象 
0 请登录后投票
   发表时间:2005-09-03  
charon 写道
gzdlw 写道
我鉴定过了,用的也是Tapestry4Spring 的方式,是可以的。我想你可能是有什么地方没有配置对。

测试代码在公司的机器上,你自己好好检查一下,如果还是有问题。周一我再查一下代码。

其实我觉得Tapestry4Spring的方式麻烦了点,我想到另外一种方式可以解决这个问题。。。。周一我回公司测一下。。。


faint,难道你们两位是一个公司的?
如果是,我倒是真诚建议javaeye能够开设一个公司论坛的大板块,有点像ASP的意思.


good idea!
0 请登录后投票
   发表时间:2005-09-04  
引用
faint,难道你们两位是一个公司的?
如果是,我倒是真诚建议javaeye能够开设一个公司论坛的大板块,有点像ASP的意思.


不呀,我不认识楼主,再说要是同一个公司,又何必在这里发问。。。

我平常主要都是在公司做技术研究嘛,毕竟公司资源要比我自己的丰富,所以我的测试代码大部分都在公司。。。
0 请登录后投票
   发表时间:2005-09-04  
gzdlw 写道
引用
faint,难道你们两位是一个公司的?
如果是,我倒是真诚建议javaeye能够开设一个公司论坛的大板块,有点像ASP的意思.


不呀,我不认识楼主,再说要是同一个公司,又何必在这里发问。。。

我平常主要都是在公司做技术研究嘛,毕竟公司资源要比我自己的丰富,所以我的测试代码大部分都在公司。。。


如果朋友在自己家的机器里也有编程环境就好了,不过那个 Tapestry4spring我这里还是不可以  
0 请登录后投票
   发表时间:2005-09-04  
Tapestry作者提供的论坛从来没有连上过:
[url] http://www.tapestryforums.com/[/url]
不知道有没有人上去过
而且我发过 mail给 mail list,但是列表中始终没有我的问题,很是奇怪
0 请登录后投票
   发表时间:2005-09-04  
论坛在这里:
http://news.gmane.org/gmane.comp.java.tapestry.user
0 请登录后投票
   发表时间:2005-09-05  
Tapestry4spring的应用,我已经更新到MyTapestry-TWF中去了。http://forum.iteye.com/viewtopic.php?t=15715

对Spring的集成,本来想做点小改良,早上试了一下,可惜不行,底层变了很多,而且也屏蔽了很多。对于Tapestry4,我也只是个新手而已,只是凭借着在T3上还有些经验,上手比较快罢了。。。。等以后接触时间长些,或许会有些办法。

对于Hivemind与T的结合,实际上我现在稍微习惯之后,觉得还是不错的。Hivemind与Spring不应该相提并论。的确,它们可以相互取代,但是,他们各有特长。Tapestry在结合Hivemind之后,变得比较有趣,举例说吧。。。上个星期我用Tapestry-beta4的时候遇到Tapestry-552bug,这个bug呢,是个非常严重的缺陷,官方已经作出了解决,并且更新的CVS,但是还没有更新版本。。。在邮件列表上,我就发现有些用户并不喜欢修改源代码,于是他们就利用Hivemind的ioc特性,为Tapestry单独写了一个自己的DataSqueezer实现,这样总比修改源代码,再重新打包舒服多了。呵呵。。。。

这个例子也就说明了,由于Tapestry集合了Hivemind,你可以完全用自己的策略和实现来取代Tapestry官方的策略和实现。

唉。。。Hivemind的文档和Tapestry一样少。。。所以严重影响了它们的应用及推广。
0 请登录后投票
论坛首页 Java企业应用版

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