錯誤:is quoted with " which must be escaped when used within the value .

Attribute value request.getAttribute("pageNo") is quoted with " which must be escaped when used within the value

今天突然遇到這個奇怪的問題:google了一下,發現如下原因:

轉載自:csdn博客

 

遇到這樣的問題在網上找了解決方案現總結2點:

解決以上問題有兩種解決方案:

 

方案一

 

   <jsp:include page="split_page.jsp">
    <jsp:param name="jspUrl" value="<%=jspUrl%>" />
    <jsp:param name="lineSize"
     value="<%=request.getAttribute("lineSize")%>" />
    <jsp:param name="searchFlag" value="T" />
   </jsp:include>


這裏,在 value 中只是使用了 URL 而已。

然後報錯:

Attribute value request.getAttribute("lineSize") is quoted with " which must be escaped when used within the value


啊,無語,在另一個頁面中這麼寫就沒錯啊?

Google。

發現說是什麼 apache 升級到 6.0 後出現的 bug。

詳情見:

[#MMB-1706] quoted must be escaped - MMBase

然後跟蹤鏈接,這裏說的很詳細了:

Possible user code changes required when we upgrade to Tomcat 6.0.18

按照上面的說法,這麼改寫: 

 <jsp:include page="split_page.jsp">
    <jsp:param name="jspUrl" value="<%=jspUrl%>" />
    <jsp:param name="lineSize"
     value='<%=request.getAttribute("lineSize")%>' />
    <jsp:param name="searchFlag" value="T" />
 </jsp:include>

其實只是把 value="" 改成 value=''。

 

方案二

 

把代碼改成

   <jsp:include page="split_page.jsp">
    <jsp:param name="jspUrl" value="<%=jspUrl%>" />
    <jsp:param name="lineSize"
     value="<%=request.getAttribute(/"lineSiz/")%>" />
    <jsp:param name="searchFlag" value="T" />
   </jsp:include>

 

雖然在編輯器中會顯示有錯  但是運行起來是沒有問題,tomcat版本的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章