jsf h:selectManyListbox
现在要实现动态加载selectManyListbox里的f:selectItems的值:<h:selectManyListboxvalue="#{这里怎么填}"><f:s...
现在要实现动态加载selectManyListbox里的f:selectItems的值:
<h:selectManyListbox value="#{这里怎么填}">
<f:selectItems value="#{这里怎么填}"
/>
</h:selectManyListbox>
java代码:
public class userbean{
private List<User> us;
public List<User> getUs() {
return us;
}
public void setUs(List<User> us) {
this.us = us;
}
public String getall(){
UserDao dao=new UserDao();
us=dao.getAll();
if(us!=null){
return "datable";
}else{
return "error";
}
}
} 展开
<h:selectManyListbox value="#{这里怎么填}">
<f:selectItems value="#{这里怎么填}"
/>
</h:selectManyListbox>
java代码:
public class userbean{
private List<User> us;
public List<User> getUs() {
return us;
}
public void setUs(List<User> us) {
this.us = us;
}
public String getall(){
UserDao dao=new UserDao();
us=dao.getAll();
if(us!=null){
return "datable";
}else{
return "error";
}
}
} 展开
2个回答
展开全部
<h:selectManyListbox value="#{userbean.selectedusList}">
<f:selectItems value="#{userbean.usList}" />
</h:selectManyListbox>
java代码:
public class userbean{
private List<SelectItem> usList;//保存键值对
private List<String> selectedusList = new Vector<String>();
//get&set
public List<String> getSelectedusList() {
return selectedusList;
}
public void setSelectedusList(List<String> selectedusList) {
this.selectedusList = selectedusList;
}
//初始化userbean时就加载getall()
public userbean{
getall();
}
public void getall(){
UserDao dao=new UserDao();
us=dao.getAll();
if(us!=null){
for(int i=0;i<us.size();i++){
//假设你的us对象里面有Name属性,这样就是键值对。0代表张三,1代表李四,等等
usList.add(new SelectItem(i,us.get(i).getName()));
}
}
}
}
xml文件中要配置:
<managed-bean>
<managed-bean-name>userbean</managed-bean-name>
<managed-bean-class>
userbean类的路径
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
这样就可以了。还可以初始化selectedusList.add(1);则默认选择了张三。
希望对你有所帮助。
<f:selectItems value="#{userbean.usList}" />
</h:selectManyListbox>
java代码:
public class userbean{
private List<SelectItem> usList;//保存键值对
private List<String> selectedusList = new Vector<String>();
//get&set
public List<String> getSelectedusList() {
return selectedusList;
}
public void setSelectedusList(List<String> selectedusList) {
this.selectedusList = selectedusList;
}
//初始化userbean时就加载getall()
public userbean{
getall();
}
public void getall(){
UserDao dao=new UserDao();
us=dao.getAll();
if(us!=null){
for(int i=0;i<us.size();i++){
//假设你的us对象里面有Name属性,这样就是键值对。0代表张三,1代表李四,等等
usList.add(new SelectItem(i,us.get(i).getName()));
}
}
}
}
xml文件中要配置:
<managed-bean>
<managed-bean-name>userbean</managed-bean-name>
<managed-bean-class>
userbean类的路径
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
这样就可以了。还可以初始化selectedusList.add(1);则默认选择了张三。
希望对你有所帮助。
追问
东方猫:你好
为什么这里不能循环啊;us里有6条数据
for(int i=0;i<us.size();i++){
//假设你的us对象里面有Name属性,这样就是键值对。0代表张三,1代表李四,等等
usList.add(new SelectItem(i,us.get(i).getName()));
}
循环的时候:usList.add(new SelectItem(i,us.get(i).getName()));
里的i的值是0啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询