[Tapestry4] Tapestry4.1支持默认的注入?

tapestry 2006-11-30
查看最新的Tapestry4.1分支的代码,它提供的例子中
public abstract class LocaleList extends BasePage
{
   
    public abstract Locale getCurrLocale();
   
    public abstract void setSelected(Locale locale);
   
    public abstract void setStatus(String status);
   
    public abstract ResponseBuilder getBuilder();
   
    public Locale[] getLocales()
    {
        return Locale.getAvailableLocales();
    }
   
    public void selectLocale(BrowserEvent event, String language, String country, String variant)
    {
        setSelected(new Locale(language, country, variant));
        setStatus(event.toString());
        getBuilder().updateComponent("status");
    }
   
}

public abstract ResponseBuilder getBuilder();
这个方法没有通过注释注入,难道Tapestry4.1已经可以根据类型来自动注入,这个是Tapestry5中的概念,如果真的话,确实方便不少。
zhaow8820 2006-12-09
提到Tapestry4.1就谈些有建设性的话题吧。就是这次版本升级的改变。加入了对dojo的支持。对dojo的集成也算是赶一赶流行吧。起码能有些另人觉得人性化的ajax体验。不过tapestry4.1官方网及wiki的资源代码并不多。也就是没有太多应用新功能的例子。如、怎么应用自我触发事件的监听。怎么用新的引擎服务处理异步请求。他用html.js作为tapestry调用dojo的桥梁。确没有很详细的说明。有时间大家一起切磋。
tapestry 2006-12-15
已经确认了,如果在hivemind中一个接口只有一个类实现的话,只需要定义一个抽象的get方法,tapestry自动根据类型注入。
Any/all hivemind services that don't have more than one
definition for the same class interface will be automatically wired
into your components/pages just by declaring the abstract getter or
setter
tapestry 2006-12-15
4.0.x中可以使用tapestry-autowire来获得同样的功能。http://svn.javaforge.com/svn/tapestry/tapestry-autowire
Linuxboy 2006-12-22
是的,我已经试过了,注入的时候不用@InjectObject("xxxx")了,直接public abstract getXxxx()就行了。
Global site tag (gtag.js) - Google Analytics