JSP 中夾雜 `<%= minCC %>`、`<%= ResourceList.msg %>` 等服務端片段,導致客戶端腳本難維護、元數據變更牽一髮動全身、無法控制下發數據量。
服務端生成 JSON 字符串,注入頁面賦值給 JS 變量:
var vehicleValidationsMetadata = {
"BrandName": {"CanContainDigits": false, "MaxWords": 2, "FormatMessage": "品牌名不可含數字", "WordLimitMessage": "最多兩個單詞"},
"RegistrationNumber": {"CanContainAlphabets": false, "CanContainDigits": true, "FormatMessage": "注冊碼僅限數字"},
"CC": {"minCC": 50, "maxCC": 5000, "FormatMessage": "CC必須為數字", "RangeMessage": "CC範圍50-5000"},
"MIN_OCC": 0, "MAX_OCC": 10, "MAX_OCC_MSG": "最多10輛車", "MIN_OCC_MSG": "至少1輛車"
};
if (cc < vehicleValidationsMetadata.CC.minCC || cc > vehicleValidationsMetadata.CC.maxCC)
alert(vehicleValidationsMetadata.CC.RangeMessage);
零服務端代碼混入,元數據變更只需更新 JSON 生成邏輯,JS 完全解耦。