Struts2结合EasyUI的combobox的二级联动json数组的返回

直接上代码:注意这块的JSONArray和JSONObject 不要引入org.json.JSONArray  因为它不是网络传输的,当使用它的时候ajax传回前台时是空。

所以要采用网络版的JSONArray和JSONObject   struts2 返回json还要采用struts2-json-plugin.jar包


JAVA

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
private JSONArray jsonArray;
 /** 用于获得二级的列表 */
		public String childLanIds() throws Exception {
			Language lan=languageService.getById(parentLanId);
			Set<Language> childLans=lan.getChildrenLans();
			JSONArray jsonArray=new JSONArray();
			for(Language language:childLans){
				JSONObject jsonObject=new JSONObject();
				jsonObject.put("id", language.getId());
				jsonObject.put("name", language.getName());
				jsonArray.add(jsonObject);
				
			}
			this.jsonArray=jsonArray;
			return Action.SUCCESS;
		}
 public JSONArray getJsonArray() {
        return jsonArray;
    }

    public void setJsonArray(JSONArray jsonArray) {
        this.jsonArray = jsonArray;
    }

struts.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>
	
   
    <package name="server" namespace="/" extends="oa-default">

        <!-- 内容管理:版块相关功能 -->
        <action name="language_*" class="languageAction" method="{1}">
			<result name="list">/WEB-INF/jsp/languageAction/list.jsp</result>
			<result name="show">/WEB-INF/jsp/languageAction/show.jsp</result>
			<result type="json">
			<param name="root">jsonArray</param>
	        </result>
		</action>
		<!-- 内容管理:文章相关功能 -->
		


    </package>

    <!-- Add packages here -->

</struts>


JSP

所属:
						  <select class="easyui-combobox" name="parentLanId" id="parentLanId"
						   style="width:100px;" data-options="valueField:'id',textField:'name',panelHeight:'auto'">
						    <s:iterator value="#lans">
				                 <option value="${id}">${name}</option>
						    </s:iterator>
						    </select>
						    </div>
						     <div class="InputContent" style="float: left;width:150px;"> 
						     语言:
						     <input class="easyui-combobox" id="childLanIds" name="childLanIds"
                             data-options="valueField:'id',textField:'name',
                             multiple:true,panelHeight:'auto'" style="width:100px;"/>
						    </div>
						    <input type="button" value="测试" οnclick="testJson();"/>

JS

$(function(){//设置二级联动
	   $('#parentLanId').combobox({
	        onSelect:function(record){
	        	var url='language_childLanIds.action?parentLanId='+record.id;
	        	$('#childLanIds').combobox('clear');
	        	$('#childLanIds').combobox('reload', url);
	        }
	    });
	});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值