30747


### 前提・実現したいこと

NetBeansでswitch構文にString型の変数を使いたい。

### 発生している問題・エラーメッセージ

【ブラウザ】

[code]

    HTTP Status 500 - Internal Server Error
    
[/code]

【netbeansのエラー内容】

**switch内の文字列は-source 1.5でサポートされていません**  
**(switch内の文字列を使用可能にするには、-source 7以降を使用してください)**

### 該当のソースコード

[code]

    <h2>switch文2</h2><br>
        <%
        String cha= "あ";String flash = " ";
        if (cha == null) {
        cha = "null";
        }
        switch (cha){
          case "あ":
            flash = "日本語";
            break;
          case "A":
            flash = "英語";
            break;
          default:
            flash = "error";
            break;
        }
        out.println(flash);
        %>
    
[/code]

調べたところ、 **switch** は **string** 型の変数を使えない時があったことを知りました。  
しかし、私の今のバージョンを確認しても使えないはずはないと思うのです。

**ソース/バイナリ形式:JDK8  
プラットフォーム名:JDK 1.8(デフォルト)**

原因は他にあるのでしょうか？  
よろしくお願いします。

念のためエラー内容を全て載せておきます。

[code]

    重大:   Error compiling file: C:\Users\keiga\AppData\Roaming\NetBeans\8.2\config\GF_4.1.1\domain1\generated\jsp\WebApplication1\org\apache\jsp\programing_005fbase2_jsp.java
    警告:   StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
    org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP
    PWC6199: Generated servlet error:
    ソース値1.5は廃止されていて、今後のリリースで削除される予定です
    PWC6199: Generated servlet error:
    ターゲット値1.5は廃止されていて、今後のリリースで削除される予定です
    PWC6199: Generated servlet error:
    廃止されたオプションについての警告を表示しないようにするには、-Xlint:オプションを使用します。
    PWC6197: An error occurred at line: 32 in the jsp file: /programing_base2.jsp
    PWC6199: Generated servlet error:
    switch内の文字列は-source 1.5でサポートされていません
      (switch内の文字列を使用可能にするには、-source 7以降を使用してください)
    
[/code]

マルチポスト  
[テラテイル](https://teratail.com/questions/56777?modal=q-comp)


CC BY-SA 3.0
2016-11-27T15:44:51.607
30732
2016-11-28T12:48:10.573
2020-06-17T08:14:45.997
-1
19459
question
jsp
switch構文でString型の変数を使用するとエラーになります。


こちらがあたるのではないでしょうか

JSPのコンパイルバージョンの設定方法  
<http://qiita.com/yuji38kwmt/items/1e9c20ed023795a7ceb3>

jspは実行される際にサーブレットとしてコンパイル実行されますが、その際のバージョンはそれまでのシステムで稼働していたjspの動作が変わらないよう保守的に設定されているようです。  
新規のプロジェクトなら、コンパイルバージョンを設定して新しいバージョンの機能を使えるようにできます。


CC BY-SA 3.0
2016-11-28T12:48:10.573
30747
2016-11-28T12:48:10.573
19743
30732
answer