<s:select 下拉 选择 登录 用户名 -- ajax ,json

来源:互联网 发布:云计算 刘鹏 ppt 编辑:程序博客网 时间:2024/06/09 22:58

分析: json  标准格式  [ {'3':'管理员'},{'24':'孟丽霞'},{'25':'李二鸽'},{'26':'赵会敏'},{'27':'吕秀丽'},{'28':'孙一兰'},{'29':'赵玲'}]


1. ajax  请求 action 

<s:select  list="#{'01':'选择' }" listKey="key" listValue="value"  name="loguser.userId" label="userName" id="selectajax"></s:select>               


jq

 <script type="text/javascript" src="<%=serverName%>/js/jquery-1.10.2.js"></script> <script type="text/javascript"> $(document).ready(function(){   $("#selectajax").focus(function(){   $("#selectajax").empty();     //清空二级目录     var user = {    };        $.ajax({            url:'LogUserAjaxcAction.action',            data:user,            type:'post',            dataType:'text',             contentType:'application/x-www-form-urlencoded; charset=utf-8',            success:function(msg){        // var txt = msg;        var d=eval(msg);//解析  $(d).each(function(index,entity){  $("#selectajax").append($('<option   value="'+entity['id']+'">'+entity['name']+'</option>'));//后台数据加到下拉框  });                          }                        });   });   });</script>


2. 查询数据库 得到   所有对象 并 转换成如下格式 

                    [ {'3':'管理员'},{'24':'孟丽霞'},{'25':'李二鸽'},{'26':'赵会敏'},{'27':'吕秀丽'},{'28':'孙一兰'},{'29':'赵玲'}]


package com.baishiji.action.loguser;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.baishiji.bean.LogUserInFo;import com.baishiji.dao.LogUserDao;import com.opensymphony.xwork2.ActionSupport;public class LogUserAjaxcAction extends ActionSupport{/** * 分析: 得到所有用户  给登录页面的下拉 *   */  private List<LogUserInFo> list;  public void getUsers() throws IOException{LogUserDao ld = new LogUserDao(); list=ld.searchAll();   List<LogUserInFo>Userlist=ld.searchAll(); HttpServletResponse response = ServletActionContext.getResponse();        HttpServletRequest request = ServletActionContext.getRequest();        response.setContentType("text/html;charset=UTF-8");         response.setCharacterEncoding("UTF-8");        PrintWriter writer = response.getWriter();          StringBuffer  sb = new  StringBuffer();          /*  * var employees = [{ 'id':'3',"name":"Bill"  },{ 'id':'4',"name":"xxx"  }];  * */    sb.append("[ ");for(int i=0;i<list.size();i++){LogUserInFo stud=list.get(i);//System.out.println(stud);if(i==(list.size()-1)){//最后一个不带 ,sb.append("{'id':'"+stud.getUserId()+"','name':'"+ stud.getUserName()+"'}");}else{sb.append("{'id':'"+stud.getUserId()+"','name':'"+ stud.getUserName()+"'},");}}sb.append("]");writer.print(sb);writer.flush();writer.close();  }}


3.得到  json, 将其 转换成  对象 ,

        success:function(msg){        // var txt = msg;        var d=eval(msg);//解析  $(d).each(function(index,entity){  // [{ 'id':'3',"name":"Bill"  } ]   id,name  要和 下面的entity['id']  名字一样哦$("#selectajax").append($('<option   value="'+entity['id']+'">'+entity['name']+'</option>'));//后台数据加到下拉框  });                          }  



阅读全文
0 0
原创粉丝点击