liferay 返回 json,jquery处理



import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.json.JSONObject;
import com.autotoll.jv.erp.proxy.PortletActionBeanProxy;
import com.autotoll.jv.erp.util.ErpStatus;
import com.autotoll.jv.pojo.impl.UserInfo;
import com.liferay.portal.json.JSONArrayImpl;
import com.liferay.portal.json.JSONObjectImpl;
import com.liferay.portal.kernel.json.JSONArray;
import com.liferay.portal.model.User;
import com.liferay.portal.struts.AJAXAction;
import com.liferay.portal.theme.ThemeDisplay;
import com.liferay.portal.util.WebKeys;

public class GetCustNodeAjax extends AJAXAction{

@SuppressWarnings("unchecked")
public String getText(ActionMapping arg0, ActionForm arg1,
HttpServletRequest req, HttpServletResponse response) throws Exception {

ThemeDisplay themeDisplay =
(ThemeDisplay) req.getAttribute(WebKeys.THEME_DISPLAY);
User user = themeDisplay.getUser();
UserInfo userInfo = PortletActionBeanProxy.
getInstance().getUserInfoSvc().
findUserInfoById(user.getUuid());

String lanageId = themeDisplay.getLanguageId();
String custId = req.getParameter("custId");
//货源地
String s_type = ErpStatus.COMP_NODE_HUOYUAN;
List<Map<String, Object>> s_cityList = PortletActionBeanProxy.
getInstance().getCityTableSvc().
findCityTableByNodeId(new Integer(custId),
userInfo.getCompInfo().getCompId(), new Short(s_type));
//目的地
String d_type = ErpStatus.COMP_NODE_MUDIDI;
List<Map<String, Object>> d_cityList = PortletActionBeanProxy.
getInstance().getCityTableSvc().
findCityTableByNodeId(new Integer(custId),
userInfo.getCompInfo().getCompId(), new Short(d_type));

JSONObject jsonObj = new JSONObject();
//货源地和目的地
jsonObj = createJson(s_cityList,d_cityList,lanageId);
//System.out.println("json----"+jsonObj.toString());
return jsonObj.toString();
}
/**
* 创建json
* @param list
* @param lanageId
*/
private JSONObject createJson(List<Map<String,Object>> s_list,
List<Map<String,Object>> d_list,String lanageId){

JSONObject jsonObj = new JSONObject();
JSONObjectImpl jsonImpl = new JSONObjectImpl();
JSONArray s_jsonArrId = new JSONArrayImpl();
JSONArray s_jsonArrAdr = new JSONArrayImpl();
//货源地
if (s_list !=null && s_list.size()>0){
for(int i=0;i<s_list.size();i++) {
Map<String, Object> map = new HashMap<String, Object>();
map = s_list.get(i);
String custNodeId = String.valueOf(map.get("0"));
String proName_tc = String.valueOf(map.get("1"));
String proName_en = String.valueOf(map.get("2"));
String proName_sc = String.valueOf(map.get("3"));
String cityName_tc = String.valueOf(map.get("4"));
String cityName_en = String.valueOf(map.get("5"));
String cityName_sc = String.valueOf(map.get("6"));
String nodeAdr = String.valueOf(map.get("7"));

s_jsonArrId.put(custNodeId);
jsonImpl.put("s_custNodeId", s_jsonArrId);
if (lanageId.equals("zh_CN")) {
s_jsonArrAdr.put(proName_sc+cityName_sc+nodeAdr);
} else if (lanageId.equals("zh_TW")){
s_jsonArrAdr.put(proName_tc+cityName_tc+nodeAdr);
}else {
s_jsonArrAdr.put(proName_en+cityName_en+nodeAdr);
}
}
}
//目的地
JSONArray d_jsonArrId = new JSONArrayImpl();
JSONArray d_jsonArrAdr = new JSONArrayImpl();

if (d_list !=null && d_list.size()>0){
for(int i=0;i<d_list.size();i++) {
Map<String, Object> map = new HashMap<String, Object>();
map = d_list.get(i);
String custNodeId = String.valueOf(map.get("0"));
String proName_tc = String.valueOf(map.get("1"));
String proName_en = String.valueOf(map.get("2"));
String proName_sc = String.valueOf(map.get("3"));
String cityName_tc = String.valueOf(map.get("4"));
String cityName_en = String.valueOf(map.get("5"));
String cityName_sc = String.valueOf(map.get("6"));
String nodeAdr = String.valueOf(map.get("7"));

d_jsonArrId.put(custNodeId);

if (lanageId.equals("zh_CN")) {
d_jsonArrAdr.put(proName_sc+cityName_sc+nodeAdr);
} else if (lanageId.equals("zh_TW")){
d_jsonArrAdr.put(proName_tc+cityName_tc+nodeAdr);
}else {
d_jsonArrAdr.put(proName_en+cityName_en+nodeAdr);
}
}
}
jsonImpl.put("s_address", s_jsonArrAdr);
jsonImpl.put("s_custNodeId", s_jsonArrId);
jsonImpl.put("d_custNodeId", d_jsonArrId);
jsonImpl.put("d_address", d_jsonArrAdr);
jsonImpl.put("totalNum", s_list.size()+d_list.size());

jsonObj = jsonImpl.getJSONObject();
return jsonObj;
}
}

jsp 页面:

function getCustNodeList(obj){
var custId = obj.options[obj.selectedIndex].value;
var starSelect = document.getElementById('startNodeList');
var deSelect = document.getElementById('detionNodeList');

if(custId != "choose" && custId !="") {
jQuery.ajax(
{url: '<%= themeDisplay.getPathMain() %>/erp/getJson',
data: {custId:custId},
success: setCustNode});
} else {
starSelect.options.length = 0;
deSelect.options.length = 0;
starSelect.options.add(new Option("<liferay-ui:message key="erp.select.option.choose"/>","choose"));
deSelect.options.add(new Option("<liferay-ui:message key="erp.select.option.choose"/>","choose"));
}
}
function setCustNode(json) {
var jsonFile = eval('('+json+')');
var num = jsonFile.totalNum;
var starSelect = document.getElementById('startNodeList');
var deSelect = document.getElementById('detionNodeList');
starSelect.options.length = 0;
deSelect.options.length = 0;

for(var i=0 ;i<num-1 ;i++){
var s_custNodeId; var s_custNodeAdr;
var d_custNodeId; var d_custNodeAdr;
if(jsonFile.s_custNodeId != null) {
s_custNodeId = jsonFile.s_custNodeId[i];
}
if (jsonFile.s_address !=null) {
s_custNodeAdr = jsonFile.s_address[i];
}
if(jsonFile.s_address !=null && jsonFile.s_address !=null) {
starSelect.options.add(new Option(s_custNodeAdr,s_custNodeId));
}
if (jsonFile.d_custNodeId != null ) {
d_custNodeId = jsonFile.d_custNodeId[i];
}
if (jsonFile.d_address !=null) {
d_custNodeAdr = jsonFile.d_address[i];
}
if (jsonFile.d_custNodeId !=null && jsonFile.d_address != null) {
deSelect.options.add(new Option(d_custNodeAdr,d_custNodeId));
}
}
starSelect.options.add(new Option("<liferay-ui:message key="erp.select.option.choose"/>","choose"));
deSelect.options.add(new Option("<liferay-ui:message key="erp.select.option.choose"/>","choose"));
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值