Struts2结合EasyUI的combobox返回json

来源:互联网 发布:软件测试行业学费 编辑:程序博客网 时间:2024/05/16 05:59

前台页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding
="UTF-8"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript"
    src
="<%=request.getContextPath()%>/js/jquery-1.4.js"></script>
<link rel="stylesheet" type="text/css"
    href
="<%=request.getContextPath()%>/css/easyui.css" />
<script type="text/javascript"
    src
="<%=request.getContextPath()%>/js/jquery.easyui.min.js"></script>
<title>EasyUI</title>
</head>
<body>
    
<input class="easyui-combobox" name="language"
        data-options
="
                    url:'SRCEasyUI_combobox.do',
                    valueField:'key',
                    textField:'value',
                    multiple:true,
                  "              panelHeight:'auto'
>
</body>
</html>

Action方法:
package jp.vacation.holiday.action;

import java.util.ArrayList;
import java.util.List;

import jp.vacation.holiday.form.EasyUIForm;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.webpump.sdk.struts2.core.AbstractFwAction;

@Controller(
"EasyUIAction")
@Scope(
"prototype")
public class EasyUIAction extends AbstractFwAction {

    
private static final long serialVersionUID = 1L;

    
private JSONArray jsonArray;

    
public JSONArray getJsonArray() {
        
return jsonArray;
    }


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


    
public String combobox() {

        List
<JSONObject> jsonList = new ArrayList<JSONObject>();
        
for (int i = 0; i < 5; i++{
            EasyUIForm easyuiform 
= new EasyUIForm();
            easyuiform.setKey(
"key" + i);
            easyuiform.setValue(
"value" + i);
            JSONObject js 
= JSONObject.fromObject(easyuiform);
            jsonList.add(js);
        }

        JSONArray jarray 
= JSONArray.fromObject(jsonList);
        
this.jsonArray = jarray;
        
return SUCCESS;
    }


}


form类
package jp.vacation.holiday.form;

public class EasyUIForm {

    
private String key;

    
private String value;

    
public String getKey() {
        
return key;
    }


    
public void setKey(String key) {
        
this.key = key;
    }


    
public String getValue() {
        
return value;
    }


    
public void setValue(String value) {
        
this.value = value;
    }


}


Struts2 的xml配置
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd"
>
<struts>
    
<package name="vacation" extends="vacation_common">
        
<result-types>
            
<result-type name="json" class="org.apache.struts2.json.JSONResult" />
        
</result-types>
        
<action name="SRCEasyUI_combobox" method="combobox" class="EasyUIAction">
            
<result type="json">
        
<!--jsonArray必须在Action中定义,必须写它的get,set方法 -->
                
<param name="root">jsonArray</param>
            
</result>
        
</action>
    
</package>
</struts>

combobox用的是json数组,json数组中放的是json对象
0 0
原创粉丝点击