前台请求:
function checkAll() {
// 获取参数对象
var tbName = document.getElementById("tbName");
// 获取selet标签对象
var secSelect = document.getElementById("selectList");
secSelect.options.length = 0;
// 重新调用function时长度为0
$
.post(
"${pageContext.request.contextPath}/login/login_checkAll.action",
{
"tbName" : $("#tbName").val()
}, function(data) {
var dataJson = eval('(' + data + ')'); // String类型转json类型
for ( var i = 0; i < dataJson.length; i++) {
var oOption = document.createElement("OPTION");
oOption.value = dataJson[i].columnName;
oOption.text = dataJson[i].columnName;
secSelect.options.add(oOption);
}
});
}
<div style="margin-top: 10px;margin-left: 150px" >
TB_NAME: <input type="text" value="" id="tbName" name="tbName" /><input
type="button" id="liandong" value="检索" οnclick="checkAll()" />
选择项:<select name="selectList" οnchange="selectFunction(this)"
id="selectList" style="width: 155px">
<option value="" selected="selected"></option>
</select>
</div>
后台代码:
public String checkAll() {
ColumnsEntity columnsEntity = null;
String tbName = getRequest().getParameter("tbName");
if(!StringUtils.isEmpty(tbName)){
tbName = tbName.toUpperCase();
if (null == columnsEntity) {
columnsEntity = new ColumnsEntity();
}
columnsEntity.setColumnName(tbName);
List<ColumnsEntity> checkAllList = loginService.checkAll(columnsEntity);
// 主要是这段代码,处理数据查询的多条数据的list
outJsonArray(checkAllList);
}else{
}
return null;
}
outJsonArray是个封装好的方法:
public void outJsonArray(Object array) {
String str=JSONArray.fromObject(array).toString());
ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
ServletActionContext.getResponse().getWriter().write(str);
}