コードの厳密な引用符エスケープを false に設定することから離れることにしましたが、その前に、JSP の厳密な引用符エスケープの問題をすべて調べて修正します。
通常、引用符の中に引用符を含む行があり、最も簡単な修正は、外側の引用符を二重ではなく単一にすることです。私は今日、行のこの部分に出くわしました:
url="<%= "javascript:deleteFromHistory('" + personStatus.getId() + "');" %>"
二重引用符の内側にある二重引用符の内側に単一引用符があるため、外側に単一引用符を付けても機能しません。
そこで、内側の引用符で囲まれたコンテンツを文字列変数に貼り付けて使用しようとしましたが、問題なくコンパイルできたようですが、このページが製品のどこに表示されるか、およびこの内容をテストする方法に関する私の限られた知識がわからないため、このソリューションが実際に機能するかどうか、または文字列変数内の一重引用符もエスケープする必要があるかどうかはわかりません。
String link = "javascript:deleteFromHistory('" + personStatus.getId() + "');";
....
....
<td....><ia:btn.... url ="<%=link%>"....
この解決策はうまくいきますか? そうでない場合、これを処理する適切な方法は何でしょうか?
コンパイルしたからといって、正しくやったとは思いたくありません。