有时候,像IBM这样的大公司也会有一些弱智的错误,最近在一个项目中需要从websphere5.1升级6.0,发现在JSP中会出现这样的错误:
String fieldname="fieldname",value="value";
out.println( " < " + fieldname + " ></SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">value</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]]></< SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">fieldname</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);</SPAN></DIV>这时候你会发现应该显示出来的CDATA标签不见了。<BR>在另外一种写法下,也会有错误:<BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000">String fieldvalue</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">hello</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="/Images/dot.gif"><BR></SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">td</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000">[CDATA[</SPAN><SPAN style="COLOR: #000000"><%=</SPAN><SPAN style="COLOR: #000000">fieldvalue</SPAN><SPAN style="COLOR: #000000">%></SPAN><SPAN style="COLOR: #000000">]]</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000">td</SPAN><SPAN style="COLOR: #000000">></SPAN></DIV><BR><SPAN style="COLOR: #000000"><SPAN style="COLOR: #000000">在这种情况下,<%=fieldvalue%>是不会被执行的,在运行后的jsp里面仍然存在。<BR>很可惜,这个问题已经得到了IBM开发实验室的确认,但是补丁到现在还没于出来,最新的版本是6.0.2。</SPAN></SPAN></SPAN></SPAN></div> </div><script type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1')); Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90); //
out.println( " < " + fieldname + " ></SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">value</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]]></< SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">fieldname</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);</SPAN></DIV>这时候你会发现应该显示出来的CDATA标签不见了。<BR>在另外一种写法下,也会有错误:<BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000">String fieldvalue</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">hello</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="/Images/dot.gif"><BR></SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">td</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000">[CDATA[</SPAN><SPAN style="COLOR: #000000"><%=</SPAN><SPAN style="COLOR: #000000">fieldvalue</SPAN><SPAN style="COLOR: #000000">%></SPAN><SPAN style="COLOR: #000000">]]</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000">td</SPAN><SPAN style="COLOR: #000000">></SPAN></DIV><BR><SPAN style="COLOR: #000000"><SPAN style="COLOR: #000000">在这种情况下,<%=fieldvalue%>是不会被执行的,在运行后的jsp里面仍然存在。<BR>很可惜,这个问题已经得到了IBM开发实验室的确认,但是补丁到现在还没于出来,最新的版本是6.0.2。</SPAN></SPAN></SPAN></SPAN></div> </div><script type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1')); Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90); //
新用户注册 刷新评论列表
找优秀程序员,就在博客园 | ||||||||
标题 | 请输入标题 | |||||||
姓名 | 请输入你的姓名 | |||||||
主页 | ||||||||
|
||||||||
内容(请不要发表任何与政治相关的内容) 请输入评论内容 |
||||||||
Remember Me? | ||||||||
登录 | ||||||||
[使用Ctrl+Enter键可以直接提交] | ||||||||
|
||||||||
网站导航:
博客园 IT新闻 知识库 C++博客 程序员招聘 管理
|
||||||||
相关文章:
|
||||||||