我用的Struts2_2.0.11,最近使用<s:a>标签时发现一个奇怪的问题,如下:
经常使用Struts2的<s:a>标签在页面输出超链接,例如
<s:a href="xxx.action?pageNo=%{pageNo - 1}&keyword=%{keyword}" >上一页</s:a>
但最近发现一个问题,当参数keyword中含有引号时,例如“ keyword="java"”,那么生成超链接的时候双引号后面的内容就都没了!
只好改为另一种写法
<a href="xxx.action?pageNo=<s:property value="pageNo - 1"/>&
keyword=<s:property value="keyword"/>">上一页</a>
改成这种写法需要注意的一个问题是:href参数值包围的引号必须用双引号",不能使用单引号',因为使用单引号时当“keyword='java'”时会提前把单引号结束掉。
不知道这算不算一个bug,或者有其他方法可以解决。另外我用的版本比较老,不知新版本是否还这样。
在使用Struts2框架时遇到<s:a>标签处理含有特殊字符的URL参数问题,特别是在参数包含引号时,链接生成不完整。通过改变写法解决了该问题。
651

被折叠的 条评论
为什么被折叠?



