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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

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

Java

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

Eclipse

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

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

4297閲覧

JSPに入力した値をbeansで受け取ってSQL文のWHEREによって、入力と一致するデータをJSPでWEBブラウザで表示させたい。

inamura

総合スコア8

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

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

Java

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

Eclipse

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

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2017/05/10 05:02

###前提・実現したいこと
JSPに入力した値をbeansで受け取ってSQL文のWHEREによって、入力と一致するデータをJSPでWEBブラウザで表示させたい。

初心者でわからないことだらけですが、一人前のエンジニアになりたいです。ご指導よろしくお願い致します。

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

nullが返される

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

JAVA

1--------------------kensaku.jsp---------------------------- 2<%@ page language="java" contentType="text/html; charset=windows-31j" 3 pageEncoding="windows-31j"%> 4 <%@ page import="java.util.*" %> 5<jsp:useBean id="cb" class="employee.KenBean" scope="request"/> 6 7<%! 8 ArrayList colname; 9 ArrayList data; 10 %> 11<% 12 colname = cb.getColname(); 13 data = cb.getData(); 14%> 15 16 17<html> 18<body bgcolor="#f8f8fa"> 19<br> 20<p><Div Align="center"> 21<h1>検索</h1> 22<hr/> 23<br><br><br><br> 24<table border="1"> 25<tr bgcolor="#EoC76F"> 26<% 27 for(int row=0; row<data.size(); row++){ 28%> 29<tr> 30<% 31 ArrayList rowdata = (ArrayList) (data.get(row)); 32 for(int column=0;column<rowdata.size(); column++){ 33%> 34<td> 35<%= rowdata.get(column) %> 36</td> 37<% 38 } 39%> 40</tr> 41<% 42 } 43%> 44</table> 45 46<p><form method="post" action="KenBean.java"> 47<H2> 48社員コード: <input type="text" name="scode" size="20" maxlength="3" pattern="^[0-9]+$" required autofocus> 49</H2> 50<input type="submit" value="検索開始" onClick="location.href='Ken'" style="WIDTH:100px; HEIGHT:40px" onclick="scode"><br><br><br><br> 51</form> 52</div> 53 54</body> 55 56</html> 57------------------------------------------------------------- 58-----------------KenBean.java-------------------------------- 59package employee; 60 61import java.io.Serializable; 62import java.sql.Connection; 63import java.sql.DriverManager; 64import java.sql.ResultSet; 65import java.sql.ResultSetMetaData; 66import java.sql.Statement; 67import java.util.ArrayList; 68 69public class KenBean implements Serializable{ 70 71 private ArrayList<String> colname; 72 private ArrayList<ArrayList> data; 73 74 75 public KenBean(){ 76 try{ 77 String code = getPalameter("scode"); 78 System.out.println(code); 79 Class.forName("com.mysql.jdbc.Driver"); 80 //接続の準備 81 String url = "jdbc:mysql://localhost:3306/employeemaster"; 82 String usr = "root"; 83 String pw = ""; 84 85 //データベースへの接続 86 Connection cn 87 = DriverManager.getConnection(url,usr,pw); 88 89 //問い合わせの準備 90 91 Statement st = cn.createStatement(); 92 String qry1 93 = "SELECT * FROM employeemaster WHERE 社員コード=" + code; 94 95 //問い合わせ 96 ResultSet rs = st.executeQuery(qry1); 97 98 //列数の取得 99 ResultSetMetaData rm = rs.getMetaData(); 100 int cnum = rm.getColumnCount(); 101 colname = new ArrayList<String>(cnum); 102 103 //列名の取得 104 for(int i=1; i<=cnum; i++){ 105 colname.add(rm.getColumnName(i).toString()); 106 } 107 108 //行の取得 109 data = new ArrayList<ArrayList>(); 110 while(rs.next()){ 111 ArrayList<String> rowdata 112 = new ArrayList<String>(); 113 for(int i=1; i<=cnum; i++){ 114 rowdata.add(rs.getObject(i).toString()); 115 } 116 data.add(rowdata); 117 } 118 //接続のクローズ 119 rs.close(); 120 st.close(); 121 cn.close(); 122 123 } 124 catch(Exception e){ 125 e.printStackTrace();} 126 } 127private String getPalameter(String string) { 128 // TODO 自動生成されたメソッド・スタブ 129 return null; 130 } 131public ArrayList getData(){ 132 return data; 133} 134public ArrayList getColname(){ 135 return colname; 136} 137} 138---------------------------------------------------------- 139 140------------------KenServ.java--------------------------- 141 142package employee; 143 144import javax.servlet.ServletContext; 145import javax.servlet.ServletException; 146import javax.servlet.http.HttpServlet; 147import javax.servlet.http.HttpServletRequest; 148import javax.servlet.http.HttpServletResponse; 149 150public class KenServ extends HttpServlet{ 151 public void doPost(HttpServletRequest req,HttpServletResponse res) 152 throws ServletException{ 153 154 try{ 155 ServletContext sc = getServletContext(); 156 157 KenBean cb = new KenBean(); 158 159 req.setAttribute("cb",cb); 160 161 162 sc.getRequestDispatcher("/kensaku.jsp").forward(req, res); 163 } 164 catch(Exception e){ 165 e.printStackTrace(); 166 } 167 } 168} 169 170------------------------------------------------------------- 171 172

###補足情報(言語/FW/ツール等のバージョンなど)
Eclipse,Tomcat,MySQL
(全て最新バージョン)

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

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

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

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

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

guest

回答1

0

ベストアンサー

KenBeanの中にある

private String getPalameter(String string) { // TODO 自動生成されたメソッド・スタブ return null; }

が常にnullを返しているため、

public KenBean(){ try{ String code = getPalameter("scode");

codeの値は常にnullでしょう。

投稿2017/05/10 09:20

A-pZ

総合スコア12011

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

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

inamura

2017/05/11 00:30

無事に解決できました!! 本当にありがとうございました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問