jspの●がついているところが、エクリプスで警告がでます。
「型の安全性:ObjectからArrayLisut<String>への未検査キャスト」と出ます。
正しいプログラムを教えて欲しいです。
画像のような入力画面と実行結果を出力させるプログラムです。
lang
1Exp0427.html 2 3 4<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5<html> 6<head> 7<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8<title>Insert title here</title> 9</head> 10<body> 11<form action="./Exp0427"> 12氏名:<input type="text" name="simei" size="10" ><br> 13<br> 14 15性別:<input type="radio" name="sex" value="0" checked>男<input type="radio" name="sex" value="1" >女<br> 16<br> 17 18趣味:<input type="checkbox" name="check" value="book">読書 19 <input type="checkbox" name="check" value="game">ゲーム 20 <input type="checkbox" name="check" value="sport">スポーツ<br> 21 <br> 22<input type="submit" name="button" value="送信" > 23 24 25 26</form> 27</body> 28</html>
lang
1Exp0427.java 2 3 4import java.io.IOException; 5import java.util.ArrayList; 6 7import javax.servlet.RequestDispatcher; 8import javax.servlet.ServletException; 9import javax.servlet.annotation.WebServlet; 10import javax.servlet.http.HttpServlet; 11import javax.servlet.http.HttpServletRequest; 12import javax.servlet.http.HttpServletResponse; 13 14/** 15 * Servlet implementation class Exp0427 16 */ 17@WebServlet("/Exp0427") 18public class Exp0427 extends HttpServlet { 19 private static final long serialVersionUID = 1L; 20 21 /** 22 * @see HttpServlet#HttpServlet() 23 */ 24 public Exp0427() { 25 super(); 26 // TODO Auto-generated constructor stub 27 } 28 29 /** 30 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 31 */ 32 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 // TODO Auto-generated method stub 34 35 request.setCharacterEncoding("utf-8"); 36 response.setContentType("text/html; charset=utf-8"); 37 String simei=request.getParameter("simei"); 38 String insex=request.getParameter("sex"); 39 String[] inhobby=request.getParameterValues("hobby"); 40 41 String sex; 42 if(insex.equals("0")){ 43 sex="男性"; 44 }else{ 45 sex="女性"; 46 } 47 48 ArrayList<String> hobby=new ArrayList<String>(); 49 for(int i=0;i<inhobby.length;i++ 50 51 52 ){ 53 switch(inhobby[i]){ 54 case "book": 55 hobby.add("読書"); 56 break; 57 case "game": 58 hobby.add("ゲーム"); 59 break; 60 default: 61 hobby.add("スポーツ"); 62 break; 63 } 64 } 65 66 request.setAttribute("simei", simei); 67 request.setAttribute("sex", sex); 68 request.setAttribute("hobby", hobby); 69 70 RequestDispatcher dis=request.getRequestDispatcher("./Exp0427.jsp"); 71 dis.forward(request, response); 72 } 73 74 /** 75 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 76 */ 77 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 78 // TODO Auto-generated method stub 79 } 80 81} 82
lang
1Exp0427.jsp 2 3 4<%@ page import="java.util.ArrayList"%> 5 6<%@ page language="java" contentType="text/html; charset=UTF-8" 7 pageEncoding="UTF-8"%> 8<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 9<html> 10<head> 11<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 12<title>InsertServlet title here</title> 13</head> 14<body> 15<form method="get" action="./Exp0427"> 16 17●<% ArrayList<String> hobby=(ArrayList<String>)request.getAttribute("hobby"); %> 18 19<table border="1" cellspacing="0"> 20<tr> 21<th>氏名</th> 22<th><%= request.getAttribute("simei")%></th> 23</tr> 24 25<tr> 26<th>性別</th> 27<th><%= request.getAttribute("sex")%></th> 28</tr> 29 30<tr> 31 <th rowspan="3">趣味</th> 32 <td><%= hobby.get(0) %></td> 33 </tr> 34 <% for(int i=0;i<hobby.size()-1;i++){ %> 35 <tr> 36 <td><%= hobby.get(i+1) %></td> 37 </tr> 38 <% } %> 39</table> 40</form> 41</body> 42</html> 43 44
![イメージ]WIDTH:599

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。