论坛首页 Java企业应用论坛

tapestry5中select的用法

浏览 11360 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-02  
dengyin2000 写道
jamesby 写道
引用
Model的实现类是可以自己实现的。



是可以自己实现,不过tapestry对这个基本的组件总该有个实现吧,有些奇怪。


当然有。
楼上,给个地址,或者给个简单的用法,谢谢!
应该同checkbox差不多吧
0 请登录后投票
   发表时间:2007-05-23  
public SelectModel getUsersModel() {
return new UsersModel(getUsers());
}

public class UsersModel implements SelectModel {
private List<User> Users;

public UsersModel(List<User> Users) {
this.Users = Users;
}

public List getOptionGroups() {
return null;
}

public List getOptions() {
List optionModelList = new ArrayList();
for (User User : Users) {
optionModelList.add(new OptionModelImpl(User.getName(), false,
User, new String[0]));
}
return optionModelList;
}
}
0 请登录后投票
   发表时间:2007-05-23  
我发现在使用encoder的时候会导致select选不中的问题:
<select t:type="select" t:id="user" name="user" value="userName" model="usersModel" encoder="usersEncoder" onChange="this.form.submit();" style="width:300"></select>

public ValueEncoder getUsersEncoder() {
return new UserValueEncoder(getUsers());
}

public class UserValueEncoder implements ValueEncoder {
private List<User> Users;

public UserValueEncoder(List<User> Users) {
this.Users = Users;
}

public String toClient(Object User) {
/*return ((User) User).getName();*/
return (String)User;
}

public User toValue(String name) {
for (User User : Users) {
if (User.getName().equals(name)) {
return User;
}
}
System.out.println("null");
return null;

}
}

如果不使用encoder,提交后的页面会显示上次选择的option,对于multiple="true"的情况下怎样default select?
0 请登录后投票
   发表时间:2007-05-23  
现在的框架太多了,精通几个就够用了,学那么多太类了。
0 请登录后投票
论坛首页 Java企业应用版

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