WebWork动态填充Select

来源:互联网 发布:淘宝网免费推广 编辑:程序博客网 时间:2024/05/22 01:58

我们如果想动态的给select下拉菜单添加数据,有两种办法,一种是使用JS,一种是使用代码片段

在Webwork中,我们有了新的方法,在action中构造一个collection,可以使list,map等,然后,指定<ww:select>的list属性就可以了

Action: (我们的list是gao)

 

package ch11;

import java.util.ArrayList;
import java.util.List;

import com.opensymphony.xwork.ActionSupport;

public class ModifyUser extends ActionSupport {

    
private User user;
    
private String gaoxiang;
    List gao
=new ArrayList();
    
public ModifyUser(){
           gao.add(
"1");
           gao.add(
"2");
           gao.add(
"3");
           gao.add(
"gao");
    }

    
public User getUser() {
        
return user;
    }

    
public void setUser(User user) {
        
this.user = user;
    }

    
public String execute() throws Exception {
         System.out.println(gaoxiang);
        
return SUCCESS;
    }




    
public String getGaoxiang() {
        
return gaoxiang;
    }


    
public void setGaoxiang(String gaoxiang) {
        
this.gaoxiang = gaoxiang;
    }

    
public List getGao() {
        
return gao;
    }

    
public void setGao(List gao) {
        
this.gao = gao;
    }




}

JSP:

<ww:select label="ga2o" name="gaoxiang" list="gao"/>

 

这样一来,可以看到,select中就是我们定义的1,2,3,gao
<select name="gaoxiang" id="testUI_gaoxiang">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="gao">gao</option>
</select>

如果gao是一个map

 gao.put("1","11");
 gao.put("2","22");

则生成的html是:

<select name="gaoxiang" id="testUI_gaoxiang">
    <option value="2">22</option>
    <option value="1">11</option>
</select>

区别显而易见,就是select的数值合显示值的区别

 

原创粉丝点击