自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

生成 JSON 元數(shù)據(jù)對(duì)象的典型方法

開(kāi)發(fā) 前端
不需要把服務(wù)器端代碼包含在 JavaScript 中,而保存的服務(wù)器端元數(shù)據(jù)和消息中的更改也不會(huì)影響客戶端腳本。這種方法太棒了,是不是?好的,那就是使用基于JSON 對(duì)象時(shí)要做的。

如果只需在條件語(yǔ)句和警報(bào)中引用一個(gè) JavaScript 變量而不是服務(wù)器端代碼,您感覺(jué)怎么樣?這段代碼看上去是不是好多了?它沒(méi)有在 JavaScript 中混入服務(wù)器代碼。如果服務(wù)器端更改存儲(chǔ)元數(shù)據(jù)的方法,則無(wú)需再重寫(xiě)客戶機(jī)腳本。這會(huì)使 JSON 對(duì)象的日子更輕松些。#t#

您將使用一個(gè) JavaScript 對(duì)象把我們的驗(yàn)證數(shù)據(jù)和消息分組到一個(gè)層級(jí)中。然后就像訪問(wèn)層級(jí)的 JavaScript 對(duì)象一樣訪問(wèn)這些消息。就是這樣,您已經(jīng)做到了!當(dāng)此 JSON 元數(shù)據(jù)對(duì)象就緒后,先前的 JavaScript 代碼片段將類似。

  1. if(cc < vehicleValidationsMetadata.CC.minCC ||   
  2.                      cc > vehicleValidationsMetadata.CC.maxCC) {  
  3.      alert(vehicleValidationsMetadata.CC.RangeMessage);  
  4.      } 

現(xiàn)在,問(wèn)題是誰(shuí)來(lái)準(zhǔn)備 JSON 元數(shù)據(jù)對(duì)象?嗯,只有服務(wù)器能做這項(xiàng)工作。服務(wù)器必須生成這個(gè) JSON 對(duì)象,并將其提供給客戶機(jī)(瀏覽器)。一些 Java API 可以幫助您準(zhǔn)備此類(事實(shí)上是任意一類)JSON 對(duì)象。請(qǐng)參閱 參考資料 來(lái)查看那些 API。

生成 JSON 元數(shù)據(jù)對(duì)象的典型方法為:

  1. var vehicleValidationsMetadata = {  
  2.      "BrandName":{  
  3.                    "CanContainDigits":{false},  
  4.                "MaxWords":{2},  
  5.              "FormatMessage":{"Brand Name cannot contain digits."},   
  6.            "WordLimitMessage":{"Brand Name cannot contain more than two words"}  
  7.          }, "RegistrationNumber":{  
  8.              "CanContainAlphabets":{false},  
  9.               "CanContainDigits":{"true"},  
  10.                 "FormatMessage":{"Registration Number can contain only digits."}  
  11.      },  
  12.  "CC":{  
  13.               "minCC":{50},  
  14.                  "maxCC":{5000},  
  15.                 "FormatMessage":  
  16.              {"CC can only be numeric"},   
  17.                  "RangeMessage":{"CC can be within range of 50 and 5000"}  
  18.      }  
  19.  } 

為實(shí)體及其驗(yàn)證消息準(zhǔn)備一個(gè)層級(jí) Java 對(duì)象。 對(duì)這些實(shí)體及其驗(yàn)證消息調(diào)用 toString()。這些實(shí)體及其驗(yàn)證消息最有可能把一個(gè) JSON 形式的字符串提供給您。
將該字符串另存到一個(gè)請(qǐng)求范圍內(nèi)。 在 JSP 中,獲取該字符串,并將其指派到 JavaScript 變量值的大括號(hào)內(nèi)。

最終的車輛元數(shù)據(jù)對(duì)象。

  1. function validateVehicleData() {  
  2.       var brandName = //get brand name from form field  
  3.    var registrationNumber = //get Registration Number from form field.  
  4.         var CC = //get CC from form field  
  5.    var brandNamebrandNameTokens = brandName.split(' ');  
  6.         if(brandNameTokens.length > vehicleValidationsMetadata.BrandName.MaxWords) {  
  7.             alert(vehicleValidationMessages.BrandName.WordLimitMessage);  
  8.        }  
  9.   .  
  10.   .  
  11.   .  
  12.   if((!vehicleValidationsMetadata.RegistrationNumber.CanContainAlphabets) &&   
  13.                      isNaN(parseInt(registrationNumber))) {  
  14.  alert(vehicleValidationMessages.RegistrationNumber.FormatMessage);  
  15.  }  
  16.   var ccNum = parseInt(CC);  
  17.   if(ccNum < vehicleValidationMessages.CC.minCC ||   
  18.                      ccNum > vehicleValidationMessages.CC.maxCC) {  
  19.                alert(vehicleValidationMessages.CC.RangeMessage);  
  20.   }  

服務(wù)器必須生成整個(gè)字符串,第一行和最后一行除外,因?yàn)楫?dāng)前的用戶語(yǔ)言環(huán)境可能要求使用這些消息(并且只有服務(wù)器端代碼能完成這項(xiàng)工作)。在這里,需要注意的一點(diǎn)是此元數(shù)據(jù)對(duì)象僅用于驗(yàn)證車輛。更理想的情況是將 JSON 對(duì)象對(duì)象封裝到 person 元數(shù)據(jù)對(duì)象中。

那樣,您就不需要再創(chuàng)建另一個(gè) JSON 對(duì)象,而只需將該元數(shù)據(jù)對(duì)象包含到 person 元數(shù)據(jù)對(duì)象中。在將此元數(shù)據(jù)對(duì)象準(zhǔn)備好后,您可以使用該對(duì)象中的元數(shù)據(jù)和消息來(lái)驗(yàn)證數(shù)據(jù)輸入和顯示消息。現(xiàn)在,驗(yàn)證車輛輸入信息的 JavaScript 函數(shù)看上去就會(huì)跟 清單 4 一樣。

責(zé)任編輯:chenqingxiang 來(lái)源: CSDN
相關(guān)推薦

2010-01-08 14:36:01

生成 JSON

2010-01-08 13:48:51

JSON 形式

2010-01-07 16:55:06

JSON字符串

2010-03-29 14:36:06

Oracle DICO

2011-03-04 14:58:40

jqueryJSON

2010-02-22 11:02:06

WCF元數(shù)據(jù)

2010-07-02 14:52:21

SQL Server元

2010-07-06 10:07:10

jQueryJSON

2015-02-05 13:15:37

2010-09-26 16:31:07

JVM參數(shù)配置

2014-09-18 16:46:51

大數(shù)據(jù)應(yīng)用

2021-09-01 10:37:25

鴻蒙HarmonyOS應(yīng)用

2021-11-11 12:45:36

PythonCSVJSON

2010-01-06 13:32:27

JSON數(shù)據(jù)

2019-02-11 08:48:07

XMLJSON前端

2020-07-20 07:56:28

JavaScript開(kāi)發(fā)技術(shù)

2023-10-27 08:33:40

Go語(yǔ)言元編程

2009-06-16 11:13:38

Javadoc生成方法Javadoc

2013-03-27 13:34:49

數(shù)據(jù)清洗

2018-05-29 09:38:40

大數(shù)據(jù)金融行業(yè)銀行業(yè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)