这两天弄了个jqueryeasyui-combobox,这里小记一下我的前后台实现方式,:
js:
function loadData() {
$.ajax({
type : "POST", // 使用post方法访问后台
dataType : "json", // 返回json格式的数据
url: "platform/comboboxAction/getComboboxData", // 要访问的后台地址
data : {
"classId": "8a58ab44419c341d01419c5595580027"
},
complete : function() {},
success : function(result) {// result为返回的数据
$('#ccdatabase').combobox({
data : result,
valueField:'TEMPLATE_CODE',
textField:'TEMPLATE_NAME'
});
}
});
}
jsp:
<body onload="loadData()">
<select id="ccdatabase" class="easyui-combobox" name="state" style="width:200px;">
</select>
java:
package avicit.km.module.combobox.action;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/comboboxAction")
public class ComboboxAction{
@Autowired(required=true)
private JdbcTemplate jdbcTemplate;
@RequestMapping("/getComboboxData")
public void getComboboxData (HttpServletRequest request, HttpServletResponse response) {
Object classId = request.getParameter("classId");
String sql = "select t.template_code, t.template_name from km_template t where t.class_id=?";
List list = jdbcTemplate.queryForList(sql, new Object[]{classId});
JSONArray ja = new JSONArray(list);
System.out.println("parameter="+classId);
System.out.println("ja.toString()="+ja.toString());
response.setCharacterEncoding("utf-8");//指定为utf-8
try {
response.getWriter().write(ja.toString());//转化为JSOn格式
} catch (IOException e) {
e.printStackTrace();
}
}
}