tomcat 下部署单框架cas时,报出org.apache.jasper.JasperException异常的解决办法

在tomcat中部署好cas server(设置好https,将cas.war拷贝到了webapps下部署完成),启动tomcat后,访问
http://localhost:8443/cas/login时,报出异常,出错信息如下:


      org.apache.jasper.JasperException: /WEB-INF/view/jsp/default/ui/casLoginView.jsp(48,35) Attribute value request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]|^locale=([A-Za-z][A-Za-z]_)?[A-Za-z][A-Za-z]", "") is quoted with " which must be escaped when used within the value

这是tomcat的版本问题导致
找到WEB-INF/view/jsp/default/ui/casLoginView.jsp这个页面
把这段

Java代码 
<c:set var="query" value="<%=request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=[A-Za-z][A-Za-z]|^locale=[A-Za-z][A-Za-z]", "")%>" />  <c:set var="query" value="<%=request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=[A-Za-z][A-Za-z]|^locale=[A-Za-z][A-Za-z]", "")%>" /> 

  

修改下

Java代码 
<c:set var="query" value='<%=request.getQueryString() == null ? "" : request.getQueryString().replaceAll("&locale=[A-Za-z][A-Za-z]|^locale=[A-Za-z][A-Za-z]", "")%>' />  

就是把双引号换成单引号即可。

原文地址:https://www.cnblogs.com/angryprogrammer/p/3653498.html