页面使用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" οnclick="alert('OK');" />
<input value="外单内双-OK" type="button" οnclick='alert("OK");' />

//错误示例
<input value="外双内双-错误" type="button" οnclick="alert("OK");" />
<input value="外单内单-错误" type="button" οnclick='alert('OK');' />

 

 

2.html转义和js转义的区别:

 

//错误,html中使用js语法
<input value="Test" type="button" οnclick="alert(\"OK\");" />

//正确
<input value="HTML转义字符&quot;(& q u o t ;)-OK" type="button" οnclick="alert(&quot;OK&quot;);" /><br />
 

3.js的引号多级嵌套,早期一篇js引号嵌套的备忘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值