在用jstl表达式通过表单的value属性为表单赋值时,由于数据当中含有引号,结果导致数据显示不全。
html文件:
<input id="arrtInfo" type="hidden" value='${assetMap.arrtInfo}' name="arrtInfo" />
${assetMap.arrtInfo}从后端取到的数据为json格式:
[{"detFilter":"detectFan","oidFilter":"123"},{"detFilter":"detectSupply","oidFilter":"789"}]
结果当数据显示出来时,只有 [{ ,剩下的数据都消失了。
经过分析,发现由于value属性用的是双引号,当我给表单赋值时,它只是获得了前两个双引号当中的数据。
解决:
这种问题,只需要把value属性的双引号去掉,或者使用单引号。
而当数据中既含有双引号,又含有单引号时,我在网上看到说value属性用单引号,双引号都不行,得把数据当中的特殊字符转义字符。不过这种方法我没有试。