T4 OGNL

samperon2200 2008-05-08
在页面类中,设置页面属性

<property name="username"/>

tapestry会自动添加标准的get/setter属性,并进行初始化

我的问题是如果在页面属性中

<component id="username" type="TextField">
         <binding name="value" value="ognl:username"/>
</component> 

那么通过ognl绑定的username,tapestry默认对username进行怎样的设置?
tapestry 2008-05-09
不知道你要表达什么意思,在java类中么?
public abstract void setUserName(String name);
public abstract String getUserName();
samperon2200 2008-05-09
tapestry 写道
不知道你要表达什么意思,在java类中么?
public abstract void setUserName(String name);
public abstract String getUserName();


page:
<component id="username" type="TextField">
<binding name="value" value="ognl:username"/>
</component>

class:
private String username;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

如果默认设置会生成

public abstract void setUserName(String name);
public abstract String getUserName();

那我的问题是tapestry会不会对username进行初始化,使用ognl和使用property有什么区别?
tapestry 2008-05-09
如果是抽象方法,t4会自动在页面初始化或者从池中取出时调用initialize()方法将username设置为null,如果照你的写法,username是页面类的变量,每个用户访问到的都是这个值,t4不会帮你重新设置。
Global site tag (gtag.js) - Google Analytics