- - PR -
クラスのインポートについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-13 18:11
<%@ page import="list.InputCheck" %>
<% String id = request.getParameter("i"); String str = id; checkID che = checkID(); if(che != new checkID(str)){ //false } //true %> checkIDというメソッドをつくったのですが、JSPでインポート宣言しても サーブレットエラーになります。 どのようにインポートすればよいでしょうか。 checkIDメソッドは、内容は引数が整数か、桁数、数字であるかを調べています。 また当方初心者なため、質問が適切ではないと思いますが、それも含めご指導いただけるとありがたいです。 具体的なエラーです。 checkID cannot be resolved to a type The method checkID() is undefined for the type update_jsp checkID cannot be resolved to a type よろしくお願いします | ||||||||
|
投稿日時: 2006-11-13 18:30
>checkIDというメソッドをつくったのですが、
どこにどのように作ったんでしょうか? JSPでメソッドを作るには、特別な記述が必要です。 importということは、別のクラスなんですか? であれば hogehoge.checkID(); になるはずですが…。 >new checkID(str) 名前が同じ…。 | ||||||||
|
投稿日時: 2006-11-13 18:30
返答ではないですが....
> また当方初心者なため、質問が適切ではないと思いますが、 > それも含めご指導いただけるとありがたいです。 ご自分で初心者だと思っているのなら、Eclipse 等のIDEを使用したほうが良いのでは? IDEならソースを書きながらコンパイルエラーがすぐわかるし、今回のエラーもなぜ 発生するかの理解が早くなると思いますよ。 | ||||||||
|
投稿日時: 2006-11-13 20:43
補足です。
IDEはエクリプスを使ってます。 パッケージlist,クラスInputCheckを はじめに宣言しています。 別にクラスを作りJSPで呼び出しています。 JSPを表示すると、上記のコンパイルエラー出ます。 | ||||||||
|
投稿日時: 2006-11-14 00:33
まず、事をシンプルにするため、JSPじゃなくて main メソッドで実行するプログラムを書いてみましょう。
| ||||||||
|
投稿日時: 2006-11-14 00:40
JSPの場合は間接的にやるから初心者にはキツイものがありますね。 とりあえず動かすには初心者向けなのかもしれませんが、 一旦嵌ると原理を理解するのが大変なだけよけいに深みに嵌る気もします。 「checkIDというメソッドをつくった」とありますが、
というコードですからcheckIDってクラスなのでは? JSPではない普通のJavaだとしてもコンパイルが通りようも無いコードになってますね。 インギさんのおっしゃるようにメソッドの使い方を確認してから JSPにしたほうがよいのではないでしょうか。 根本的にクラスとメソッドとコンストラクタを正しく理解していないように伺えます。 | ||||||||
|
投稿日時: 2006-11-14 00:47
いや、おそらくInputCheckがクラスでcheckIDがそのメソッドでしょう。 であれば、InputCheckのコードをcheckIDの部分だけでも載せてもらえば、どのように 書けばいいかは回答できると思います。 それはそれとして、まずは基本からキチンと勉強することが必要だと思います。 | ||||||||
|
投稿日時: 2006-11-14 10:29
返信ありがとうございます。
----------------------------------------------------------- InputCheckID ic = InputCheck(); //コンストラクタの呼び出し ic.checkID(); //メソッドの呼び出し if(!ic.checkID(str)){ //false } //true ------------------------------------------------------------ まず、コンストラクタの呼び出しをおこなっなかったのは理解でいました。 メソッドと混同してました。 ----------------------------------------------------------- private boolean checkC(String str,int b){ //桁数チェック int length = str.getBytes().length; if(length> b) { //最大文字数よりも多かった場合 System.out.println("数値変換エラー"); return false. } return true; } public boolean checkID(String str){ //IDチェックメソッド checkA(str); checkB(str); checkC(str,2); return true; } checkIDメソッドになります。 |