struts2:前端页面在action获取json

 

 首先有一实体类如下,为了篇幅废话部分去掉:

package com.myopenshare.ztree.bean;

public class Department {
	
	private int id;
	private String name;
	private Department parent;
	private boolean hasChild;
	private String remark;
	
	public Department(int id,String name,Department parent,boolean hasChild,String remark){
		this.id=id;
		this.name=name;
		this.parent=parent;
		this.hasChild=hasChild;
		this.remark=remark;
	}

}

当然前台获取json里面所有节点元素对应实体内的各个属性。

先在json集合中首先初始化一些数据,我们所请求的action如下:

package com.myopenshare.ztree.action;

import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import com.myopenshare.ztree.bean.Department;
import com.opensymphony.xwork2.ActionSupport;

public class MenuAction extends ActionSupport {

	private JSONArray json;

	public List<Department> departments;

	public JSONArray getJson() {
		return json;
	}

	public void setJson(JSONArray json) {
		this.json = json;
	}

	public List<Department> getDepartments() {
		return departments;
	}

	public void setDepartments(List<Department> departments) {
		this.departments = departments;
	}

	public String loadDepartmentTree() {

		departments = new ArrayList<Department>();

		Department dept1 = new Department(-1, "部门", null, true, "部门的根节点");
		Department dept3 = new Department(2, "技术部", dept1, true, "技术部的根节点");
		Department dept4 = new Department(3, "销售部", dept1, true, "销售部的根节点");
		Department dept5 = new Department(4, "车间", dept1, true, "车间的根节点");
		Department dept6 = new Department(5, "研发中心", dept3, false, "研发中心的根节点");
		departments.add(dept1);
		departments.add(dept3);
		departments.add(dept4);
		departments.add(dept5);
		departments.add(dept6);

		json = JSONArray.fromObject(departments);
		return SUCCESS;

	}

 然后再就是配置文件stratus.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<include file="struts-default.xml" />
	<package name="department" extends="json-default">
		<action name="department" class="com.myopenshare.ztree.action.DeparttTreeAction"
			method="loadDepartmentTree">
			<result name="success" type="json">
				<param name="root">json</param>
			</result>
		</action>
	</package>

</struts>

 然后前端引用页面就可以直接用$.ajax({url:'department.action',type:'get',...}); 来获取json数据集。

 

其中要注意的问题有 要引用json包:

json-lib-2.3-jdk15.jar

jsonplugin-0.32.jar

可以在附件下载,当然也要确保struts2的基本包也正常引用,都放在lib文件夹内。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值