getText()でテキストフィールドから文字列を読み込ませているのですが、文字列を返すのはわかるのですが、テキストフィールドに何も書かないときは何を返すのでしょう?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

↑は "" が返ってます。



"" (String型の空文字列)

null
の違いはわかりますね。
釈迦に説法だったかもしれませんが・・
一応、補足しました。

以上
    • good
    • 0

nullではないですよ



実際にコードを書いて実行してみました。
以下のコードを実行してボタンを
押下してみてください。

起動時の一番最初も、含めて
テキストフィールドが空の時には


nullではない
[]

と表示されます。

もしnullが返るのであれば、

nullである
[null]

と表示されると思います。



確認に使った以下ソースコードを貼り付けます


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class Test extends JFrame {

private JTextField tf = new JTextField();
private JButton bt = new JButton("コンソール表示を確認せよ");

public Test() {
this.getContentPane().setLayout(null);
tf.setBounds(new Rectangle(10, 10, 100, 20));
bt.setBounds(new Rectangle(10, 50, 100, 20));
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
String text = tf.getText();
if( text == null ) {
System.out.println("nullである");
} else {
System.out.println("nullではない");
}
System.out.println("[" + text + "]");
}
});

this.getContentPane().add( tf );
this.getContentPane().add( bt );
this.setSize(500, 400);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setVisible(true);
}

public static void main(String[] args) {
Test t = new Test();
}
}
    • good
    • 0

getText()ってSwingのJTextComponentのやつでしょうか?


だとするとこれを継承したクラス、例えばJTextFieldの場合はコンストラクタの解説を見る限り、nullが初期値です。

恐らく他のJTextComponentを継承したクラスも同じだと思います。

詳細は#1の方が提示されているJDK APIの参考URLを見てください。
    • good
    • 0

ごめんなさい。

調査不足かもしれませんが・・・
getText()メソッドってJDKに含まれるObjectの中のメソッドですか?
それとも、ユーザー作成メソッドですか?
もしユーザー作成メソッドであれば、作成したときのデフォルトが返されるのだと思いますが。

コンナ感じですよね?
public class AAAA{
String aaa=null; //----(1)
public String getText(){
return aaa;
}
}

(1)でブランクにしていたらブランクが返されるし
(1)でnull(例のように)にしていたらnullがかえされますよね?
    • good
    • 0

nullだと思いますが。


参考URLにあげたAPIはご覧になりました?

参考URL:http://java.sun.com/products/jdk/1.2/ja/docs/ja/ …
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q歯を削るときなんで痛く感じるのですか? 歯を削るだけなら痛くないのに

歯を削るときなんで痛く感じるのですか?
歯を削るだけなら痛くないのに

Aベストアンサー

歯は基本的に硬組織と呼ばれる硬い結晶で出来ています。一番表面はエナメル質と呼ばれ この硬い結晶成分のみでできています。この部分は削っても痛みは全くありません。
2層目は象牙質(dentin)と呼ばれやや硬い組織で出来ています。そして歯の中央・最深部は歯髄・いわゆる神経と呼ばれる軟組織(普通の神経・血管組織)となっています。
この2層目の象牙質には 歯髄から細い繊維が入り込んでいてエナメル質直下まで 神経組織が伸びています。従って 歯を削る時にこの象牙質を削ると いっしょに神経組織まで削ってしまう事になり 強い痛みを発する事になるんです。普通 象牙質だけを削るよりも、この神経繊維の末端・つまりエナメル質と象牙質の境目を削る時の方がはるかに強く痛みを感じますねぇ~ 痛みを感じない部分から突然痛みを感じる部分に入った瞬間に急激な痛み・あの独特の痛みがあるわけです。
もちろん 歯を削る時の痛みは、神経だけの問題ではありません。タービンと呼ばれる機器・ドリルによって削る事が多いですが、この切削具の振動・回転する摩擦熱等が歯の知覚組織に伝わる事も痛みの原因となります。最近では、タービンを使わないレーザー光線による切削も多くなり、削る時の痛みは大幅に軽減されています。また、機器の振動を抑える工夫もなされており、機器の振動と似た振動を他の箇所に与える事により、痛みの閾値を上げてしまう(わかりやすく言うと 振動で神経を麻痺させて痛みを感じにくくする事)方法も行われています。

さて、通常の治療で歯を削る時は、神経のある歯(虫歯が小さい場合)や 神経を取る処置の場合、麻酔を使うことがほとんどでしょう。
えまく麻酔が効けば 痛みは全く感じなくなります。ただ、歯科の麻酔は歯の神経を麻痺させねばなりません。歯の神経の出口は 歯の根の先端・つまり骨の中にあるんです。
これを麻酔することはなかなかに難しい事なんです。普通 顎の骨は硬く厚い骨が多く なかなか麻酔薬が内部に浸潤してくれません。かなりの力を入れて圧力をかけないと 硬い骨を通り越してくれませんので、歯科の麻酔はそれだけでも痛いのです(^o^;...この時 骨の厚さによって麻酔が効く効かないが別れますね~
実は同じように 歯のエナメル質の厚さによっても削る時の痛みに差があるのです。例えば同じ歯でも、切端部・先っぽの方はエナメル質が厚いので少々削っても痛みません。逆に根元に近い部分はエナメル質が薄く 象牙質がすぐ直下にあるために痛みが感じやすいと言えます。
また、年齢によっても痛み方に大きな差があります。歯は生えたばかりはまだ幼弱で 歯髄が大きく象牙質が薄いのです。それだけ削る時に神経に近くなってしまい痛みが出やすいですねぇ~
逆に生えてから何十年も経った歯は・・・・つまり老人の歯は 多少削っても痛みません。これは長い間に神経が退化したり象牙質が石灰化して硬化したために 痛みを感じる神経が退化して・あるいは無くなってしまったからです。麻酔を使わずにどんなに削っても 全く痛まないことも しばしばあります。

いずけにしても痛みの感じ方には大きな個人差があります。痛いと感じたなら 左手を挙げて・・・・・ヽ(;^^)/ まぁ、歯科医師にお伝え下さい。

歯は基本的に硬組織と呼ばれる硬い結晶で出来ています。一番表面はエナメル質と呼ばれ この硬い結晶成分のみでできています。この部分は削っても痛みは全くありません。
2層目は象牙質(dentin)と呼ばれやや硬い組織で出来ています。そして歯の中央・最深部は歯髄・いわゆる神経と呼ばれる軟組織(普通の神経・血管組織)となっています。
この2層目の象牙質には 歯髄から細い繊維が入り込んでいてエナメル質直下まで 神経組織が伸びています。従って 歯を削る時にこの象牙質を削ると いっしょに神経組織...続きを読む

Q外部読み込みJSファイルで読み込まれたページの文字列によってジャンプしたい

JSファイルを外部読み込みで行い、
そのページの文字列を解析して、文字列"れもん"
があればAのページにジャンプ、
文字列"りんご"があればBのページにジャンプしたいのですが、
そう言ったことは可能でしょうか?

参考になるURLを教えて頂ければ幸です。m(__)m

Aベストアンサー

文字列解析対象ページの最後 (</BODY>の直前) に下記のスクリプトを記述すると可能です。外部読み込み化しても、おそらく大丈夫だと思います。
(テスト環境:WindowsXP SP2,InternetExplorer6 SP2)

うまく動かない場合や、文字列解析の範囲を限定したい場合は、解析対象範囲を <SPAN ID="doc"> ~ </SPAN> などで囲み、2行目を
str = document.all.doc.innerText;
にしてみてください。

ちなみに、解析対象ページのHTMLをまったく変更しないで、同様の動作をさせる必要があるのであれば、もう一工夫しなければなりませんが。


<SCRIPT TYPE="text/JavaScript">
str = document.all[0].innerText;
if( str.indexOf( "れもん" ) != -1 )
location.href = "A.html"
if( str.indexOf( "りんご" ) != -1 )
location.href = "B.html"
</SCRIPT>

文字列解析対象ページの最後 (</BODY>の直前) に下記のスクリプトを記述すると可能です。外部読み込み化しても、おそらく大丈夫だと思います。
(テスト環境:WindowsXP SP2,InternetExplorer6 SP2)

うまく動かない場合や、文字列解析の範囲を限定したい場合は、解析対象範囲を <SPAN ID="doc"> ~ </SPAN> などで囲み、2行目を
str = document.all.doc.innerText;
にしてみてください。

ちなみに、解析対象ページのHTMLをまったく変更しないで、同様の動作をさせる必要があるのであれば、もう一工夫しな...続きを読む

Q歯を削る(レーザー、カリソルブ、水流、ドリル)比較について

【質問・要点】
昨日、インレーが取れました。そこで、少し削って新しいインレーを入れると思うのですが、以下4つを考えたのですが、いったい、どれが最も良い治療法なのでしょうか?

レーザー
カリソルブ
水流で削る
ドリルで削る

【一応私が考える判断基準】
最も歯を削る体積が小さい治療法、
術後、2次齲蝕が最も少ない治療法
最も痛くない治療法

他に、もっと良い治療法やアドバイスがあれば、ご教示、何卒、宜しくお願い致します。

Aベストアンサー

歯科医です。
>レーザー
>カリソルブ
>水流で削る
>ドリルで削る
沢山質問されていますが
ここでまとめて。
まず、レーザーでインレーが入れられるほど削るのはできないです。削除量が圧倒的にすくなくて、綺麗な形態に削ることができないから。
カリソルブも同様です。
水流で削るのは歯に対して現在そういう器具はありません。
ドリルで削る・・・・ドリルというのは恐らくエアタービンもしくはエンジンのどちらかをさしておられる
のでしょうか。タービンで削ることが一番でしょうね。

インレーがはずれたのではなく
新しい虫歯であるのなら削除量のことを考える余地があります。しかし
何分にもすでにインレーの体積分は歯が失われているので
削除量を少なくする事に意義は見出せません。
さらに虫歯になっていなければ大抵の場合はほとんど削らなくてもよいでしょう。
取れたところがさらに虫歯になっているのであれば
削除量云々言う前に
虫歯をとりさることが肝要です。二次カリエスにならないためにはこれがもっとも大切なことです。
痛くない治療法・・・は麻酔を的確に使用して治療することでしょう。

それから
インレーはわりと易しい技工物ですので
一般的なレベルの技工士さんであれば
十分な適合の良いきれいなインレーを作りますよ。

異種金属が口腔内にあることの是非は討論の余地があるのですが
一般的に言って
接しているところでなければ
大きな問題はおきないです。
接するところではそこに小さな電池ができるようなものなので
電流が流れます。

それよりなにより
一日も早く治療を受けてください。
放置しておくことに良い点は一つもありません。

歯科医です。
>レーザー
>カリソルブ
>水流で削る
>ドリルで削る
沢山質問されていますが
ここでまとめて。
まず、レーザーでインレーが入れられるほど削るのはできないです。削除量が圧倒的にすくなくて、綺麗な形態に削ることができないから。
カリソルブも同様です。
水流で削るのは歯に対して現在そういう器具はありません。
ドリルで削る・・・・ドリルというのは恐らくエアタービンもしくはエンジンのどちらかをさしておられる
のでしょうか。タービンで削ることが一番でしょうね。

イン...続きを読む

Qボタンに任意の動作をさせてテキストフィールドに返す

はじめまして。
調べたのですが実現できないので以下について質問させてください。
こういった場所で質問するのも初めてなので至らない点もあるかと思いますがお願いします。

質問は2つです。まとめた画像を用意しました。
http://www.fastpic.jp/images.php?file=2422596804.png

【質問A】
(1)テキストフィールドに名前を入力
※半角英数字のみ、大文字小文字は可に指定出来ると嬉しいです。

(2)名前入力後、ボタンをクリック

(3)ボタンをクリックするとテキストフィールドに以下の文字が追加される。
名前の前には【/nick 】←末尾に半角スペース付き
名前の後には【四桁の日付(例:8月17日の場合は0817と言うように)】

一行でまとめるとつまり
(1)Hanako → (2) → (3)/nick Hanako0817 となるようにしたいです。

【質問B】
押すとブラウザをリロード(キーボードのF5と同じ動作)させるボタンの作成方法がわかりません。

ご存じの方いましたら教えてください。お願いします。

はじめまして。
調べたのですが実現できないので以下について質問させてください。
こういった場所で質問するのも初めてなので至らない点もあるかと思いますがお願いします。

質問は2つです。まとめた画像を用意しました。
http://www.fastpic.jp/images.php?file=2422596804.png

【質問A】
(1)テキストフィールドに名前を入力
※半角英数字のみ、大文字小文字は可に指定出来ると嬉しいです。

(2)名前入力後、ボタンをクリック

(3)ボタンをクリックするとテキストフィールドに以下の文字が追加される。
名前の...続きを読む

Aベストアンサー

質問Aをまとめてみました。

<form name="n">
<input type="text" name="nickname" style="ime-mode: disabled"> (1)
<input type="button" value="クリック" onclick="formatName()"> (2)
</form>

<head></head>の中にscriptを定義します。
<script type="text/javascript">
//(3)
function formatName(){
dd = new Date();
m = dd.getMonth()+1;
if ( m >=1 && m <= 9) { //一桁の月は0をつける
month = "0" + m;
}
document.n.nickname.value = "/nick " + document.n.nickname.value + month + "" + dd.getDate()
}
</script>

質問B
以下の要領です。
<input type="button" name="reload" onclick="location.reload(true);">

http://phpjavascriptroom.com/?t=js&p=location3

質問Aをまとめてみました。

<form name="n">
<input type="text" name="nickname" style="ime-mode: disabled"> (1)
<input type="button" value="クリック" onclick="formatName()"> (2)
</form>

<head></head>の中にscriptを定義します。
<script type="text/javascript">
//(3)
function formatName(){
dd = new Date();
m = dd.getMonth()+1;
if ( m >=1 && m <= 9) { //一桁の月は0をつける
month = "0" + m;
}
document.n.nickname.value = "/nick " + document.n.nickname.value + month + "" + dd.getD...続きを読む

Q勉強の為に睡眠削るのは確かにダメですが 勉強スケジュール上、このままでは間に合わないという状況では、

勉強の為に睡眠削るのは確かにダメですが
勉強スケジュール上、このままでは間に合わないという状況では、削るのは仕方なくないですか?エナジードリンクなり、使って

Aベストアンサー

まあその前に 遊びの時間は削るはな
その上で足りなければ トイレの時間中や バスや電車の移動中 そして場合によると食事中なども勉強する。
それでも足りない時は 睡眠5時間とかになるかな。

コーヒー 音楽 エナジードリンク ハーブ 辛い食べ物 いろいろ使いながら。
最低必要な睡眠時間ってのは人によっても違うが 短期的なら4時間睡眠でも案外行けると思う。
ただ 何というか 考え方が狭くなるように思う。
ヒラメキが出ないのだな。

別に問題はないと思うのだ。
こういう経験も大切だし 焦りさえしなければ十分得るものはある。
脳にも緩急は必要だし 時にフルスロットルも良い・・が あまり長くやると痛む。

よほど深く眠らないと4時間で2週間以上続けるのは難しかった。
そして6時間程度寝ないと 自律神経系は慣れでなんとかなるみたいなんだが どうもホルモンバランスが悪くなる感じ。
そこは注意すべきかと。

Qテキストフィールドの値をほかのページのテキストフィールドに出力する

同一ページ内であれば表示を変えることは理解できるのですがほかのページのテキストフィールドに送るところがわかりません。ご教授願います。

Aベストアンサー

前の質問も拝見しました。
パラメータのことがよくわからないのでしょうか?
あちらも締め切るなりしたほうが良いですよ。

Aページのテキストフィールドに入力された値を
Bページのテキストフィールドに表示する

ということで良いのでしょうか。

サーブレットを介しているなら
Aページ(送信)→サーブレット(getParameterで受け取り、request.setAttributeでセット)→Bページ(request.getAttributeで取得)

取得したものを
<input type="text" name="p01" value="<%= 取得した値 %>">

JSPに直接でしたらそのままパラメータで受け取った値を
valueにセットしてあげればいいと思います。

Q固定された木材を削る道具は?

部屋のドアを、内開きから外開きに変える計画を立てています。上、左右のドア枠は内側と外側のサイズが同じなのですが、下側のドア枠は削る必要があります。ドアと枠は共に木製です。
そこで質問なのですが、ドア枠のように固定された木材を削る道具は、どういったものが最適でしょうか?
回答、よろしくお願いします。

Aベストアンサー

こんにちは。
どれくらい削るかにもよりますが。

ごくわずかであれば、電動〈仕上げ)サンダーっていう、電動紙やすりみたいな機械があります。
レンタルしてるかもしれないですね。

カンナを使うなら、角は(何種類かの目の粗さの)木工ヤスリを使って、仕上げは紙やすりで。

ところで、ドアの方を削るわけにはいかないんでしょうか?
大工さんが間違えてドア枠を作って取り付けてしまった時に、ドア下部を削ってましたよ。(^^;
問題がなければ、ドアを削った方が得策かと思いますが。

Q文字列をテキストフィールドに差し替える方法

こんばんは。

以下のような処理をJavaScriptで実現したいと思っているのですが、
うまく出来ません。

1.HTMLファイル上に「あいうえお」という文字列があったとする。
2.文字列のとなりのボタンを押すと、「あいうえお」があった場所がテキストフィールドになって、
「あいうえお」という文字が入力済みで編集可能になる。
3.もう一度ボタンを押すと、テキストフィールドが元通りの普通も文字列に戻る。


以前、どこかのサイトでこのような動きを見たので、
簡単に出来るのかな、と思っていたのですが、、、

お詳しい方がいらっしゃいましたら、知恵を貸していただけないでしょうか??
宜しくおねがいします。

Aベストアンサー

かなり適当ですが、こんな感じでどうですか。。

<html>
<head>
<script type="text/javascript">
function changeField() {
var sample = document.getElementById("sample");
var sample_value = sample.innerHTML;

sample.innerHTML = "<input type='text' id='txt_sample' value='" + sample_value + "' />";
document.getElementById("btn").innerHTML = "<input type='button' value='innerHTML化' onclick='changeText()' />";
}

function changeText() {
var txt_sample_value = document.getElementById("txt_sample").value;
document.getElementById("sample").innerHTML = txt_sample_value;

document.getElementById("btn").innerHTML ="<input type='button' value='テキスト化' onclick='changeField()' />"
}
</script>
</head>
<body>
<span id="sample">あいうえお</span>
<span id="btn"><input type="button" value="テキスト化" onclick="changeField()" /></span>
</body>
</html>

かなり適当ですが、こんな感じでどうですか。。

<html>
<head>
<script type="text/javascript">
function changeField() {
var sample = document.getElementById("sample");
var sample_value = sample.innerHTML;

sample.innerHTML = "<input type='text' id='txt_sample' value='" + sample_value + "' />";
document.getElementById("btn").innerHTML = "<input type='button' value='innerHTML化' onclick='changeText()' />";
}

function changeText() {
var txt_sample_value = documen...続きを読む

Q歯を削る時痛かったを英語で?

教えて頂きたいのですが、歯医者さんで虫歯を削る時に痛かったと英語で言いたいのですが
I was pain when I shave bat tooh.
であってますか?
削るというのもshaveでいいのかわからないのですが、いい単語があれば教えて頂きたいです!

Aベストアンサー

こんにちは。4/11のご質問ではお礼のお返事を有難うございまして。

ご質問:
<I was pain when I shave bat tooh.であってますか?>

以下の点で訂正を要します。

1.I=painではないのでbe動詞はここでは不適です。

2.動詞はhadなどを使って、
I had a pain「痛みがあった」→「痛かった」
とするのが自然です。

3.shaveはどちらかというと「削ぎ落とす」「削ぐ」の意味に近くなります。歯医者でいう「削る」とは、「穴をあけること」ですから、ここはdrillが適切です。

4.I shave:「私が削る」のではないので、ここでは使役動詞haveなどを使って「削ってもらう」にします。
例:
I have my tooth drilled.
「私の歯を、削らせる」→「削ってもらう」

ここでdrilledと過去分詞になっているのは、目的語Oであるmy toothと、補語Cであるdrilledの関係が、受動の関係になるからです。
例:
my tooth is drilled「歯が、削られる」

5.虫歯はbad toothと綴りを正します。

6.以上を踏まえて原文に忠実な訂正例は
I had a pain when I had my tooth drilled by dentist.
「歯医者に歯を削ってもらった時、痛かった」
となります。

7.他にも以下のような表現もあります。
I felt some pain when I had my tooth drilled.
「歯医者に歯を削ってもらった時、少し痛かった」

以上ご参考までに。

こんにちは。4/11のご質問ではお礼のお返事を有難うございまして。

ご質問:
<I was pain when I shave bat tooh.であってますか?>

以下の点で訂正を要します。

1.I=painではないのでbe動詞はここでは不適です。

2.動詞はhadなどを使って、
I had a pain「痛みがあった」→「痛かった」
とするのが自然です。

3.shaveはどちらかというと「削ぎ落とす」「削ぐ」の意味に近くなります。歯医者でいう「削る」とは、「穴をあけること」ですから、ここはdrillが適切です。

4.I shave...続きを読む

Qテキストフィールドに何も入れない場合の動作について

現在サーブレットについて勉強しているものです。

身近に聞ける人がおらず、お手数ですがご教授願います。

分からないところは、JSPでテキストフィールドがあるページを作成し、そこに何も入れないまま送信した場合の動作についてです。

以下に載せているサンプルAの通りに作成し、何も入れないで送信したところ、if( (numberStr == null) || (numberStr.length() == 0) )の条件文の中の処理が走るようで、”何かいれて”というメッセージが表示されるのを確認しております。

しかし、私が作成したファイルを使い、テキストフィールドに何も入れないまま送信した場合はエクセプション画面(例外レポート)に飛んでしまいます。

同じ条件を使い、同じように表示させているつもりなのですが、私が作成したソースが上手くいかず、参考書のソースが上手く動作している理由がどうしてもわかりません。

恐らくソースを見た方が早い、という方が多いと思いますので、見栄えは悪いのですが、ソースを張らせていただきます。

また、入力文字数の制限より、import等は全て削除しました。

また、何も入力しない場合に用いられている、try、catchの必要性についても、いまいち分かりません。
ifとelseで全て網羅するようにせず、なぜtry,catchを使うのでしょうか?

ご存じの方、いらっしゃいましたら、是非教えて下さい。



サンプルA-start---------------------------------------------------------------------
public class GuessServlet extends HttpServlet {

/* 当たりの数字をランダムに決定 */
private int hit = new Random().nextInt(10);

public void doGet( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

/* jspファイルで入力した数字をひっぱってくる */
String numberStr = request.getParameter("number");
int input = Integer.parseInt(numberStr);

response.setContentType("text/plain; charset=Windows-31J");
PrintWriter out = response.getWriter();

if( (numberStr == null) || (numberStr.length() == 0) )
{
request.setAttribute("msg","何か入れて");
RequestDispatcher dispatcher = request.getRequestDispatcher("/reqattr/guess.jsp");
dispatcher.forward( request, response);
}
else if(hit == input)
{
request.setAttribute("msg","当たり。数字=" + input);
RequestDispatcher dispatcher = request.getRequestDispatcher("/reqattr/guess_hit.jsp");
dispatcher.forward( request, response);
}
else{
request.setAttribute("msg","はずれ。数字=" + input);
RequestDispatcher dispatcher = request.getRequestDispatcher("/reqattr/guess.jsp");
dispatcher.forward( request, response);
}
}
}

サンプルA-end---------------------------------------------------------------------



私のソース-start---------------------------------------------------------------------

public class GuessServlet extends HttpServlet {

/* 当たりの数字をランダムに決定 */
private int hit = new Random().nextInt(10);

public void doGet( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

/* jspファイルで入力した数字をひっぱってくる */
String numberStr = request.getParameter("number");

String error = null;
int number = -1;

if( (numberStr == null) || (numberStr.length() == 0) )
{
error = "何か入れて";
}

if(error == null)
{
try{
number = Integer.parseInt(numberStr);
if(number < 0 || 9 < number)
{
error = "0~9を入れて";
}
}
catch(NumberFormatException e)
{
error ="数字を入れてください";
}
}

String path;

if(error != null)
{
request.setAttribute("msg", error);
path = "/reqattr/guess.jsp";
}
else
{
if(hit == number)
{
request.setAttribute("msg","当たり。数字=" + number);
path = "/reqattr/guess_hit.jsp";
}
else
{
request.setAttribute("msg","はずれ。数字=" + number);
path = "/reqattr/guess.jsp";
}
}
RequestDispatcher dispatcher = request.getRequestDispatcher(path);
dispatcher.forward( request, response);
}
}

私のソース-end---------------------------------------------------------------------

現在サーブレットについて勉強しているものです。

身近に聞ける人がおらず、お手数ですがご教授願います。

分からないところは、JSPでテキストフィールドがあるページを作成し、そこに何も入れないまま送信した場合の動作についてです。

以下に載せているサンプルAの通りに作成し、何も入れないで送信したところ、if( (numberStr == null) || (numberStr.length() == 0) )の条件文の中の処理が走るようで、”何かいれて”というメッセージが表示されるのを確認しております。

しかし、私が作成したファイルを使...続きを読む

Aベストアンサー

補足にある認識で間違っていません。

例外が発生したとき、原因がよくわからなかったら
とりあえずエラーメッセージや例外名で検索してみるといいですよ。
特殊なものでなければ、なにかしらのページが見つかると思います。

今回であれば、
java.lang.NumberFormatException: For input string: ""
とか、
java.lang.NumberFormatException
などで。

ただ、まずはエラーメッセージをちゃんと読むことが大事です。
今回も
>For input string: ""
から、なんとなくでも「入力が空文字なのがいけない」っていうのが分かるようになると
自分で解決できるようになっていくのではないかと思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報