0008.文章管理


先做个选择文章专栏的下拉选择框。

用EasyUI提供的combobox来实现,通过发送ajax获取专栏数据,然后根据返回的json数据构造下拉框。

前端页面ajax请求:

//构造下拉框
			$(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对应方法:

/*
	 * ajax查询专栏列表数据
	 */
	private Long userId;//用户id
	public Long getUserId() {
		return userId;
	}
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	public String ajaxlist(){
		List 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";
	}
转json格式的时候要设置排除字段,否则会造成死循环异常。详情参考另一篇博文:http://blog.csdn.net/akmissxt/article/details/79079935


service层实现:

	/**
	 * ajax查询列表数据
	 */
	public List ajaxlist(Long userId) {
		return categoryDao.ajaxlist(userId);
	}

dao层实现:

	/**
	 * 根据用户id查询专栏
	 */
	public List ajaxlist(Long userId) {
		String hql = "FROM Category c WHERE user = (FROM User WHERE user_id = ?) ";
		List list = (List) this.getHibernateTemplate().find(hql,userId);
		return list;
	}

页面效果:

0008.文章管理_第1张图片





你可能感兴趣的:(登徒先生博客开发)