クロスサイトスクリプトの問題を解決するために、次のコードを使用して特殊文字を逃がしました。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<c:set var="linkParam" value="${fn:escapeXml(linkParam)}" />
コードを実行すると、ページ ソースで特殊文字がエスケープされていることがわかります。
<a href='/result.jsp?name=O'Neil'>O'Neil</a>
しかし、リンクをクリックすると、ブラウザのアドレスバーに「/result.jsp?name=O'Neil」が表示されます。