【java,jsp】switch文でラジオボタンで選択した結果を表示させたい

実現したいこと

switch文でラジオボタンで選択した結果を表示させたい

前提

以下のコードを元に処理を入力する

java

1<%@ page language="java" contentType="text/html; charset=UTF-8"2 pageEncoding="UTF-8"%>3<%4String param = request.getParameter("param");5%>6<!DOCTYPE html>7<html>8<head>9<meta charset="UTF-8">10<title>Insert title here</title>11</head>12<body>13<P>14<%15 16switch(param){17case 0:18 out.println("あ");19 break;20case 1:21 out.println("い");22 break;23case 2:24 out.println("う");25break;26}27%>28 29</P>30<form action="switchPractice01.jsp" method="post">31<input type="radio" name="param" value="0" checked> 32<input type="radio" name="param" value="1"> 33<input type="radio" name="param" value="2"> 34<button type="submit">チェック</button>35</form>36</body>37</html>

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

このままだとエラーが出る。

エラーメッセージ HTTPステータス 500 – Internal Server Error タイプ 例外報告 メッセージ JSPのクラスをコンパイルできません: 説明 サーバーは予期しない条件に遭遇しました。それはリクエストの実行を妨げます。 例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: JSPファイル: [/switchPractice01.jsp] の中の [17] 行目でエラーが発生しました Type mismatch: cannot convert from int to String 14: <% 15: 16: switch(param){ 17: case 0: 18: out.println("あ"); 19: break; 20: case 1: JSPファイル: [/switchPractice01.jsp] の中の [20] 行目でエラーが発生しました Type mismatch: cannot convert from int to String 17: case 0: 18: out.println("あ"); 19: break; 20: case 1: 21: out.println("い"); 22: break; 23: case 2: JSPファイル: [/switchPractice01.jsp] の中の [23] 行目でエラーが発生しました Type mismatch: cannot convert from int to String 20: case 1: 21: out.println("い"); 22: break; 23: case 2: 24: out.println("う"); 25: break; 26: } Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:214) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:600) org.apache.jasper.compiler.Compiler.compile(Compiler.java:381) org.apache.jasper.compiler.Compiler.compile(Compiler.java:351) org.apache.jasper.compiler.Compiler.compile(Compiler.java:335) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:597) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331) javax.servlet.http.HttpServlet.service(HttpServlet.java:583) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 注意 原因のすべてのスタックトレースは、サーバのログに記録されています。

該当のソースコード

ソースコード

試したこと

switchの前にint param;をつけるとintの行でエラーがでます。

let param = element.param.value; をつけてみたり、case ’0’と’’で囲んでみてもエラーが出てしまうのですが、他に試せる方法はありますか。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント