分析: 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>'));//后台数据加到下拉框
});
}