<%@page import="com.amarsoft.are.util.json.JSONObject"%> <%@page import="com.amarsoft.are.util.json.JSONDecoder"%> <%@ page language="java" contentType="text/html;charset=GBK" %><%@ page import="java.util.*"%><%@ page import="java.net.URLDecoder"%><%@ page import="com.amarsoft.are.*"%><%@ page import="com.amarsoft.are.jbo.*"%><%@ page import="com.amarsoft.awe.dw.handler.BusinessProcessData"%><%@ page import="com.amarsoft.awe.dw.ui.actions.IDataAction"%><%@ page import="com.amarsoft.awe.dw.ui.list.NewListAction"%><%@ page import="com.amarsoft.awe.dw.ui.util.PublicFuns"%><%@ page import="com.amarsoft.awe.dw.ui.util.ConvertXmlAndJava"%><%@ page import="com.amarsoft.awe.dw.ui.util.Request"%><%@ page import="com.amarsoft.awe.dw.ui.htmlfactory.*"%><%@ page import="com.amarsoft.awe.dw.ui.htmlfactory.imp.*"%><% String sJbo = Request.GBKSingleRequest("SERIALIZED_JBO",request); String sASD = Request.GBKSingleRequest("SERIALIZED_ASD",request); String noRequiredColArray = Request.GBKSingleRequest("noRequiredColArray",request); String noRequiredCols = URLDecoder.decode(noRequiredColArray,"UTF-8"); String[] colArray = noRequiredCols.split(","); List nrCols = new ArrayList();//by zhulh对指定行的指定字段动态排除字段必填校验 for(String c:colArray){ JSONObject json = JSONDecoder.decode(c); if(json != null){ nrCols.add(json); } } sASD = sASD.replace("%7C", "|"); //String sPostEvents = Request.GBKSingleRequest("POST_EVENTS",request);//前台执行脚本 String sCurPage = Request.GBKSingleRequest("curpage",request); int iCurPage = 0; if(sCurPage.matches("[0-9]+")) iCurPage = Integer.parseInt(sCurPage); //String sTableIndex = Request.GBKSingleRequest("index",request); String sAction = Request.GBKSingleRequest("SYS_ACTION",request);//获得动作名称 String sSelectedRows = Request.GBKSingleRequest("SelectedRows",request); //request.setCharacterEncoding("UTF-8"); String sUpdatedFields = request.getParameter("UPDATED_FIELD");//获得保存过的字段 if(sUpdatedFields==null)sUpdatedFields = ""; //System.out.println("UPDATED_FIELD0 = " + sUpdatedFields); sUpdatedFields= URLDecoder.decode(sUpdatedFields,"UTF-8"); //System.out.println("UPDATED_FIELD1 = " + sUpdatedFields); if(sUpdatedFields.equals(""))sUpdatedFields=""; //sUpdatedFields = new String(sUpdatedFields.getBytes("GBK"),"UTF-8"); //System.out.println("UPDATED_FIELD1 = " + sUpdatedFields); BusinessProcessData bpData = new BusinessProcessData(); bpData.SelectedRows = PublicFuns.getIntArrays(sSelectedRows); try{ sUpdatedFields = sUpdatedFields.replaceAll("⊙a≌t□","+"); IDataAction action = new NewListAction(request,sUpdatedFields,nrCols);//重写校验方法,增加可以对某行进行字段校验 boolean result = action.run(sJbo,sASD,sAction,bpData); System.out.println(action.getErrors()); if(result){ out.println("{status:'success',resultInfo:'"+ com.amarsoft.awe.dw.ui.util.WordConvertor.convertJava2Js(action.getResultInfo()) +"'}"); }else{ out.println("{status:'fail',errors:'"+ com.amarsoft.awe.dw.ui.util.WordConvertor.convertJava2Js(action.getErrors()) +"'}"); } }catch(Exception e){ e.printStackTrace(); //out.println(""); out.println("{status:'fail',errors:'"+ com.amarsoft.awe.dw.ui.util.WordConvertor.convertJava2Js(e.toString()) +"'}"); ARE.getLog().error("系统错误" + e.toString()); } %>