質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

2回答

27293閲覧

エラーを正しく直して欲しいです。

umecha0911

総合スコア10

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

1クリップ

投稿2015/05/06 19:53

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

まず、これはエラーではないので、治さなくてよいです。
もし、期待通りにプログラムが動いていないのでしたら、原因は他にあります。

総称型のキャストによる未検査警告は、避けられないので、
・@SuppressWarnings('unchecked')とする
・コンパイラの設定で警告を出さないようにする
・ほっとく
のどれかを取るのがよろしいと思います。

投稿2015/05/08 01:31

Coro

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

これは学校の宿題か何かかなあ。

要は、request.getAttributeの戻り値は、Objectであるので、型検査した上でArrayListに入れるのが良い作法です。しかし、この場合にはArrayList以外の値が入っている心配はないですから、JDK 1.5以降であるなら、@SuppressWarningsアノテーションによって、警告を抑止するという手が使えます。

投稿2015/05/06 23:00

chokojori

総合スコア971

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chokojori

2015/05/07 04:46

なんか、やたらマイナスがついてるな。なんじゃろ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問