action代码 
      List<GoodsType> pp=new ArrayList<GoodsType>();
      List<GoodsTypeChild> ppp=new ArrayList<GoodsTypeChild>();
      List<GoodsTypeChildChild> pppp=new ArrayList<GoodsTypeChildChild>();
省略action和list对应类中的get set
                    public String indexlist1() throws SQLException{
       HttpServletRequest request = ServletActionContext.getRequest();    
       String sql="select * from goodstype where parent_id=0";
       Connection con=db.getCon();
          ResultSet rs=null;
          PreparedStatement ps=null;
          ps = con.prepareStatement(sql);
              rs = ps.executeQuery();
              while(rs.next()){
               GoodsType gt=new GoodsType();
               gt.setPid(rs.getInt("id"));
               gt.setT_name(rs.getString("t_name"));
               pp.add(gt);
               }        
               String sql3="select * from goodstype where type=1";
              Connection con3=db.getCon();
             ResultSet rs3=null;
             PreparedStatement ps3=null;
             ps3 = con3.prepareStatement(sql3);
                 rs3 = ps3.executeQuery();
                 while(rs3.next()){
                  GoodsTypeChild gtc=new GoodsTypeChild();
                  gtc.setId(rs3.getInt("id"));
                  gtc.setT_name(rs3.getString("t_name"));
                  gtc.setParent_id(rs3.getInt("parent_id"));
                  ppp.add(gtc);
                  GoodsTypeChildChild gtd=new GoodsTypeChildChild();
               gtd.setId1(rs3.getInt("id"));
               gtd.setT_name(rs3.getString("t_name"));
               gtd.setParent_id1(rs3.getInt("parent_id"));
               pppp.add(gtd);
                  } 
       return SUCCESS;
            }现在是页面中怎样让它们分别放在下拉菜单中 pp对于菜单1  ppp对于菜单2  pppp对于菜单3
实现下拉菜单的级联效果 

解决方案 »

  1.   

    级联效果就是 你说的 ppp的值是由pp来决定的,pppp是由ppp决定的,那么很简单:1,首先当你在页面上执行 String sql="select * from goodstype where parent_id=0";把他放在了一个List pp里面,然后在页面上的下拉菜单要对应这个值,你用的strut2吧,应该就是在页面上 写出如下代码:
    <select name="ppName" style="width:80px">
             <option value="0">请选择...</option>
             <ww:iterator value="pp">
             <option value='<ww:property value="id"/>' ><ww:property value="mod_name"/> p<ww:property value="mod_name"/></option>
             </ww:iterator>
              </select>
    2.当你选择之后,利用ajax(会用吧,就是局部刷新,再请求一次,这次就把内个上面的值传过去了)
     方法里面可以写根据 pp的值 去查询下一个下拉菜单,以此类推,就可以实现了!