gpt4 book ai didi

java - 获取 jasper 异常

转载 作者:行者123 更新时间:2023-12-01 09:41:37 24 4
gpt4 key购买 nike

从 Java 类在下面的映射中设置值并在请求中设置它。

Map<String,String> responseMap = new LinkedHashMap<String, String>();
responseMap.put("requestId", "test");
request.setAttribute("nomineeResponseMap", responseMap);

现在我尝试从jsp页面获取此请求,但无法从此 map 获取数据。

下面的代码是我在 JSP 页面中使用的。

来自 JSP 页面:

Object responseMap = request.getAttribute("nomineeResponseMap");
if(responseMap instanceof LinkedHashMap) {
Map<String, String> newMap = (LinkedHashMap) responseMap;
System.out.println("yesss");
}

运行程序时遇到以下异常:

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 36 in the jsp file: /form/EDCPRequestSuccess.jsp
Generated servlet error:
The type Map is not generic; it cannot be parameterized with arguments <String, String>

An error occurred at line: 36 in the jsp file: /form/EDCPRequestSuccess.jsp
Generated servlet error:
Syntax error, parameterized types are only available if source level is 5.0

为什么我会遇到上述异常?

最佳答案

如果您的服务器正在使用 JDK 1.5 或更高版本运行。该问题是由错误的 JSP 编译器设置引起的。
对于 Tomcat 服务器,可以在 $TOMCAT_HOME/conf/web.xml 中找到该设置。如果 compilerSourceVMcompilerTargetVM 设置为 1.4 或更低版本,则会引发该错误。

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.4</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.4</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

关于java - 获取 jasper 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com