国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

form表單回寫技術java實現(xiàn)

2019-11-26 14:25:12
字體:
來源:轉載
供稿:網(wǎng)友

本文實例為大家分享了form表單回寫技術,供大家參考,具體內(nèi)容如下

回寫支持的java拼js的方法:

 /**   * 回寫表單   *   * @param mRequest   * @return   */  public static String writeBackMapToForm(Map mRequest) {    return writeBackMapToForm(mRequest, new String[]{}, "writeBackMapToForm");  }  /**   * 回寫表單   *   * @param mRequest   * @param ignoreName 定義哪些key值的input不回寫   * @return   */  public static String writeBackMapToForm(Map mRequest, String[] ignoreName, String jsFunctionName) {  mRequest.remove("checkbox_template"); //不回寫列表中checkbox的值    StringBuffer rtValue = new StringBuffer();    rtValue.append(" var mForm = new Object();/n");    rtValue.append(" var indexArray = new Array();/n");    rtValue.append(" function writeBackMapToForm() {/n");    Iterator itMRequest = mRequest.keySet().iterator();    while (itMRequest.hasNext()) {      String tempKey = (String) itMRequest.next();      Object tempValue = mRequest.get(tempKey);      if (tempKey.startsWith("VENUS") || tempKey.startsWith("RANMIN")) {        continue;              }      if (RmStringHelper.ArrayContainString(ignoreName, tempKey)) {        continue;              }      String tempValueNew = "";      if (tempValue instanceof String) { //如果是單值,直接注入        tempValueNew = RmStringHelper.replaceStringToScript((String)tempValue); //從數(shù)據(jù)庫中取出來以后需要轉換1次        rtValue.append("  indexArray[indexArray.length] = /"" + tempKey + "/";/n");        rtValue.append("  mForm[/"" + tempKey + "/"] = /"" + tempValueNew + "/";/n");      } else if (tempValue instanceof String[]) { //如果是多值,放入數(shù)組        rtValue.append("  indexArray[indexArray.length] = /"" + tempKey + "/";/n");        String[] myArray = (String[]) tempValue;        if ( tempKey.equals("cmd") ){          tempValueNew = RmStringHelper.replaceStringToScript(myArray[0]);          rtValue.append("  mForm[/"" + tempKey + "/"] = /"" + tempValueNew + "/";/n");        } else {          rtValue.append("  mForm[/"" + tempKey + "/"] = [");          for (int i = 0; i < myArray.length; i++) {            if (i > 0)              rtValue.append(",");            tempValueNew = RmStringHelper.replaceStringToScript(myArray[i]);            rtValue.append("/"" + tempValueNew + "/"");          }          rtValue.append("];/n");        }      } else if (tempValue instanceof Timestamp) { //如果是時間戳,直接注入        if(tempValue == null) {          continue;        }        tempValueNew = RmStringHelper.replaceStringToScript(tempValue.toString().substring(0,19));        rtValue.append("  indexArray[indexArray.length] = /"" + tempKey + "/";/n");        rtValue.append("  mForm[/"" + tempKey + "/"] = /"" + tempValueNew + "/";/n");      } else if (tempValue instanceof BigDecimal){        tempValueNew = RmStringHelper.replaceStringToScript(tempValue.toString());    rtValue.append("  indexArray[indexArray.length] = /""        + tempKey + "/";/n");    rtValue.append("  mForm[/"" + tempKey + "/"] = /""        + tempValueNew + "/";/n");      } else {        if(tempValue != null) {          RmStringHelper.log("在回寫頁面時,遇到了未知java類型:" + tempValue);                  }        continue;      }    }    rtValue.append("  for(var i=0; i<indexArray.length; i++) {/n");    rtValue.append("   writeBackValue(indexArray[i]);/n");    rtValue.append("  }/n");    rtValue.append(" }/n");    rtValue.append(jsFunctionName + "();/n");    return rtValue.toString();  }//通過此方法將request中的值放入mForm對象中var mForm = new Object(); var indexArray = new Array(); function writeBackMapToForm() {  indexArray[indexArray.length] = "att_id";  mForm["att_id"] = "";  indexArray[indexArray.length] = "businessTypeOID";  mForm["businessTypeOID"] = [""];  indexArray[indexArray.length] = "business_type1";  mForm["business_type1"] = "";  indexArray[indexArray.length] = "business_type2";  mForm["business_type2"] = "1";  indexArray[indexArray.length] = "cmd";  mForm["cmd"] = "saveExamineRule";  indexArray[indexArray.length] = "document_content";  mForm["document_content"] = "s2";  indexArray[indexArray.length] = "file_path";  mForm["file_path"] = "";  indexArray[indexArray.length] = "file_template";  mForm["file_template"] = "";  indexArray[indexArray.length] = "gxl";  mForm["gxl"] = "null";  indexArray[indexArray.length] = "owner_id";  mForm["owner_id"] = "s1";  for(var i=0; i<indexArray.length; i++) {   writeBackValue(indexArray[i]);  } }writeBackMapToForm(); 關鍵語句jsp頁面中加入后輸出調(diào)用js方法: <script language="javascript"><% //表單回寫  if(request.getAttribute(RuleExamineConstants.REQUEST_WRITE_BACK_FORM_VALUES) != null) { //如果request中取出的表單回寫bean不為空    out.print(RmVoHelper.writeBackMapToForm((java.util.Map)request.getAttribute(RuleExamineConstants.REQUEST_WRITE_BACK_FORM_VALUES))); //輸出表單回寫方法的腳本  } Map mapt = (java.util.Map)request.getAttribute(RuleExamineConstants.REQUEST_WRITE_BACK_FORM_VALUES); System.out.print("infois:"+mapt.entrySet()); out.print("alert(1);");%></script> //上面語句實際上注入的js格式內(nèi)容如:var mForm = new Object(); var indexArray = new Array(); function writeBackMapToForm() {  indexArray[indexArray.length] = "_function_id_";  mForm["_function_id_"] = "3670212500000000050";  indexArray[indexArray.length] = "cmd";  mForm["cmd"] = "listBusinessTypePage";  for(var i=0; i<indexArray.length; i++) {   writeBackValue(indexArray[i]);  } }writeBackMapToForm();      //注入后調(diào)用js回寫表單方法function writeBackValue(inputName) {if(form.elements[inputName] == undefined) {  return false;}if(form.elements[inputName].value != undefined) {   form.elements[inputName].value = mForm[inputName];     } if(form.elements[inputName].length != undefined ) {   var thisValue = mForm[inputName];  if(mForm[inputName][0] == undefined) {    thisValue = new Array();    thisValue[thisValue.length] = mForm[inputName];               }  if(form.elements[inputName].length != null) {     var tempLength = form.elements[inputName].length;    for(var j=0; j<tempLength; j++) {      var thisObj = form.elements[inputName][j];      for(var k=0; k<thisValue.length; k++) {        if(thisObj.value == thisValue[k]) {           if( thisObj.checked != undefined) {            thisObj.checked = true;             break;                           } else if( thisObj.selected != undefined) {            thisObj.selected = true;                            break;          }        } else {                         if( thisObj.checked != undefined) {            thisObj.checked = false;            } else if( thisObj.selected != undefined) {            thisObj.selected = false;                            }            }        }      }    }               }}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 兰西县| 宜章县| 沈丘县| 太保市| 尖扎县| 甘谷县| 滕州市| 绵阳市| 榆中县| 于都县| 怀来县| 洛川县| 嵊州市| 南部县| 轮台县| 庆阳市| 凤城市| 浮山县| 扶余县| 彰武县| 兴安县| 沅陵县| 巴里| 弥渡县| 平顶山市| 商洛市| 宝清县| 琼海市| 隆昌县| 易门县| 山丹县| 黎平县| 巴中市| 武宁县| 德庆县| 赣榆县| 松潘县| 凭祥市| 湖南省| 阿尔山市| 施秉县|