java - 字符串不适用于带有 java 7 和 Tomcat 7 的 JSP 中的 Switch 大小写

标签 java jsp tomcat

我用的是jdk1.7.0和tomcat 7.0.27

带有 String 参数的 switch case 程序在 JAVA 中运行良好,但同一程序不适用于 JSP。

An error Occurred : "Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum constants are permitted"

解决此问题的任何建议。

最佳答案

显然,您必须指定编译 JSP 时应使用的 Java 版本。

在 tomcat/conf/web.xml 中添加这个 compilerTargetVM init-param(这里我的目标是 Java 8):

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>compilerTargetVM</param-name>
        <param-value>1.8</param-value>
    </init-param>      
    <load-on-startup>3</load-on-startup>
</servlet>

关于java - 字符串不适用于带有 java 7 和 Tomcat 7 的 JSP 中的 Switch 大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32412545/

相关文章:

tomcat - 是否可以移动tomcat的work/Catalina/localhost/目录?

jsp - tomcat无jsp渲染无任何错误或异常

java - 使用大量数据提高 hibernate 插入性能的最佳方法

java - 在 IIS 应用程序中自动验证 AD 用户(已登录 tomcat 应用程序)

java - 如何对整数使用类似 charAt 的东西

java - 如何使用hibernate注释+ Spring MVC映射两个表(一对多)

spring - @Component Bean 的 @RequestMapping

HttpServletRequest 中的 JSP 参数名称

java - 如何格式化传递常量变量作为长度宽度的字符串?

java - 你将如何在 java8 中将方法转换为单行