锁定老帖子 主题:如何给@Bean声明的bean赋属性值?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-26
我现在写了一个自己的验证类 这里面有一个set方法(红色的代码),用来给该Validator赋属性值。 public class PatronCodeValidator implements Validator } } <bean class="com.ttdev.postage.PatronCodeValidator" name="patronCodeValidator"></bean><bean class="com.ttdev.postage.PatronCodeValidator" name="patronCodeValidator"></bean>我没有使用.page文件声明该类,而在在程序中利用annotations来定义。我在页面程序的构造函数中给自定义的validator赋属性值,(程序中红色的代码)我认为完全可以取代.page文件中利用set元素赋值,但程序总是报错。盼望高手解答! public abstract class Postage extends BasePage public KnowPatrons getKonwPatrons(); }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-26
报什么错误,空指针?不要在构造函数里调用注释声明的变量,应该这时候还没有执行初始化方法,你implements PageBeginRenderListener,覆盖方法public void pageBeginRender(PageEvent event) {
knowPatrons=new KnowPatrons(); getPatronCodeValidator().setKnowPatrons(knowPatrons); } 试一下 |
|
返回顶楼 | |
发表时间:2007-01-26
谢谢,tapestry的解答,按照你的方法问题解决了。注释声明的bean变量应该是在一个request到来时才被创建,并随着一个request的结束而结束,对吧?
|
|
返回顶楼 | |
发表时间:2007-01-27
Page Object 是有一个实例池的概念的,当从池中取出Page Object时,属性被初始化,当返回池时,属性被销毁,所以Page Object是线程安全的,但是在构造函数中,属性显然没有被初使化,估计@bean应该是在生成的PageObject子类中通过set注入的吧(猜测),刚刚学习tapestry.
|
|
返回顶楼 | |
发表时间:2007-01-31
谢谢你的回复,希望共同进步。
|
|
返回顶楼 | |
浏览 3640 次