0008.文章管理
阿新 • • 發佈:2019-02-01
先做個選擇文章專欄的下拉選擇框。
用EasyUI提供的combobox來實現,通過傳送ajax獲取專欄資料,然後根據返回的json資料構造下拉框。
前端頁面ajax請求:
<div><input id="arti_cate"> <input id="arti_title" style="display:'inline-block';width:70%;" value="請輸入文章標題" > </div>
//構造下拉框 $(function(){ //獲取當前使用者id var user_id = ${loginUser.user_id }+""; alert(user_id); $("#arti_cate").combobox({ url:'CategoryAction_ajaxlist.action?userId='+user_id, valueField:'cate_id', textField:'title' }); $("#arti_cate").combobox('select','請選擇專欄'); });
伺服器專欄action對應方法:
轉json格式的時候要設定排除欄位,否則會造成死迴圈異常。詳情參考另一篇博文:http://blog.csdn.net/akmissxt/article/details/79079935/* * ajax查詢專欄列表資料 */ private Long userId;//使用者id public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String ajaxlist(){ List<Category> list = categoryService.ajaxlist(userId); JsonConfig jsonConfig = new JsonConfig(); //指定哪些屬性不需要轉json String[] exclueds = {"user","articles"}; jsonConfig.setExcludes(exclueds); //將資料轉換為json格式 String json = JSONArray.fromObject(list,jsonConfig).toString(); //設定資料編碼格式 ServletActionContext.getResponse().setContentType("text/json;charset=utf-8"); try { ServletActionContext.getResponse().getWriter().print(json); } catch (IOException e) { e.printStackTrace(); } return "none"; }
service層實現:
/**
* ajax查詢列表資料
*/
public List<Category> ajaxlist(Long userId) {
return categoryDao.ajaxlist(userId);
}
dao層實現:
/** * 根據使用者id查詢專欄 */ public List<Category> ajaxlist(Long userId) { String hql = "FROM Category c WHERE user = (FROM User WHERE user_id = ?) "; List<Category> list = (List<Category>) this.getHibernateTemplate().find(hql,userId); return list; }
頁面效果: