页面使用struts2标签的悲剧bug
直接上代码了:在页面input标签中嵌套s:property赋值语句
?
<input id="Category" name="Category" value='<s:property value="Category"/>'/>?
?
仔细看,为了不使得input标签里面双引号套双引号,在value的地方使用了单引号'做范围界定。今天被测试发现一个悲剧的bug。。
?
如果value的值带有单引号',用s标签输出到页面就会被截断。
?
<input id="fuwuCategory" name="fuwuCategory" value='我爱'悲剧'/>
?
比如 value=我爱'悲剧,那么html输出将会是:?只能看到“我爱”,单引号及"悲剧"都消失了。。。
?
?
所以正确的写法只能是下面这样的:S标签输出值,只能用双引号包裹。
但是这样双引号嵌套,看起来是不符合html规范的
?
<input id="fuwuCategory" name="fuwuCategory" value="<s:property value="spinfo.fuwuCategory"/>"/>??
?
------------------------------ps..--------------------------------------
1.关于html引号的使用:
?
//正确<input value="外双内单-OK" type="button" onclick="alert('OK');" /><input value="外单内双-OK" type="button" onclick='alert("OK");' />//错误示例<input value="外双内双-错误" type="button" onclick="alert("OK");" /><input value="外单内单-错误" type="button" onclick='alert('OK');' />?
?
2.html转义和js转义的区别:
?
//错误,html中使用js语法<input value="Test" type="button" onclick="alert("OK");" />//正确<input value="HTML转义字符"(& q u o t ;)-OK" type="button" onclick="alert("OK");" /><br />?3.js的引号多级嵌套,早期一篇js引号嵌套的备忘