JSP+Servlet+Beanで作ってます。

画面には、テキストとボタンが配置してます。
Aボタンクリックで、テキストに何にも
値が入ってない場合は別のHTMLに移動し、
何か値が入っている場合は
テキストをクリアする処理をしたいのですが
・・・


<INPUT TYPE = "button" NAME="RTN" VALUE ="戻る"
onClick= <% if(wk.getRtn_tmp()==1){ out.print
("location='http://localhost:8080/form.html'");}
else{out.print
("location='http://localhost:8080/servlet/jyohoya.kanri_Srv'")
;} %>>

上記のように、JSPで判断させようと
しています。
Beanでrtn_tmpというプロパティを
セットしておいて、JSPのIF文で判断させようと思ったんですが・・・


<INPUT TYPE = "submit"・・・>にしておいて、Servletで
Aボタンの処理判断をしないといけないのでしょうか。
しかし、JSPのonclick以下で判断ができても
よさそうなのですが。。。指定の仕方がおかしいのかもしれません。

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

A 回答 (5件)

やっぱり私はkanayuさんが何を疑問とされてるのか、わかってないみたいです。


単純にこれだと上手く出来ないとおっしゃってるんですよね?

>Beanがテキスト入力の有無を判断した後、
>このServletでHTMLかJSPをよぶかの選択をしたかったのですが
この文章からはこれで十分なきがするんですが・・・

RequestDispatcher rDispatcher = null;
if(true){//条件分岐
rDispatcher = request.getRequestDispatcher("/sample_JSP.jsp");
rDispatcher.forward(request,response);
}else{
rDispatcher = request.getRequestDispatcher("/next.html");
rDispatcher.forward(request,response);
}

//上の式で駄目だったらelseの中に
response.sendRedirect("/next.html")

(2)のやり方は、kanayuさんのやり方と一緒だと思うので、
気にしないで下さい。

この回答への補足

kuro_73さん、何度もすみません。

できました。

そうですよねー。
JSP読んでるんだから、そこでIF使って
条件分岐して、HTMLにも
移動できますよね。。

FIRST.htmlのボタンクリックでSample.jsp
の画面にいき、Aボタンクリックで
条件判断してるんですけど、
FIRST.html
に戻った場合、もう一度ボタンクリックすると
ページがありません、って
なっちゃうんですよねー。。

Servletでなんかしてるんですかねえ。。。
ちょっとデバッグしてみます。
ありがとうございました!!!
ほんとうに昨日から何度もすみません。

助かりっぱなしです。

補足日時:2001/08/16 18:59
    • good
    • 0
この回答へのお礼

ページが表示されないのは、
HTMLの<FORM ACTION ="Servlet/Sample.Smp_Sevlet"
METHOD = "POST">

としていて、"Servlet/Sample.Smp_Sevlet"のところを
"Sample.Smp_Sevlet"とすると直りました。

有り難うございました。
本当に勉強不足を痛感します。
kuro_73さんはどのようにServlet + JSP + Bean
を勉強されたんでしょうか。
その辺も今度、お伺いしたいです。

本当に有り難うございました。
大変感謝しております。

お礼日時:2001/08/16 20:23

>それは、ServlvetのdoPostメソッドで最後にJSPを呼び出す処理


>があるからです。そのへんの処理を作りたいのですが。。。
>Servletで次のHTMLに移動することはできますか?

やりたいことが大分分かってきました。
二回目の返答を見る前に書いてしまったので、ちょっと的外れなことを書いてしまいました。すみません。

Servletで、別のHTMLを表示するのは可能ですよ。
場合わけの部分はお任せするとして、
JSPをコールするやり方は、お使いのサーブレットによって異なると思いますが、

一般的な方法を二つ提案するとすると
(1)response.sendRedirect("/html/next.html");
ちなみにsendRedirectはサーブレットに対してもJSPに対しても可能です。

(2)RequestDispatcher dispatch = this.getServletContext().getNamedDispatcher("フォワードする先のサーブレット");
if (dispatch == null)throw new ServletException("サーブレット[" + forwardServlet + "]が定義されていません");
dispatch.forward(request.getRequest(), response);

こんなんでいかがでしょうか。

この回答への補足

kuro_73さん、回答有り難うございます。

>Servletで、別のHTMLを表示するのは可能ですよ。
>場合わけの部分はお任せするとして、
>JSPをコールするやり方は、お使いの
>サーブレットによって異なると思いますが、


今、私がServletのdoPostメソッド内でやっている
処理は

(1)//Bean(wk_Bean)のインスタンス作成
wk = new wk_Bean();

(2)//各パラメータ値取得
kcd = request.getParameter("cd");



(こんな感じでそれぞれ取得)

(3)//wk_Bean処理実行する(DB接続等)
wk.Work(rValue,kcd,knm,btn,flg_fst);

(4)//BeanをJSPに渡すためにHttpServletRequestオブジェクトにセット
request.setAttribute("wk",wk) ;

(5)//ViewであるJSPを呼び出す
RequestDispatcher rDispatcher =
request.getRequestDispatcher("/sample_JSP.jsp");
rDispatcher.forward(request,response);

こんな感じなんですが。。。
私の理解としては、(5)でJSPを呼びだしてるので
この部分で他のHTMLを呼べないかなと思ったのです。

うーん。Beanがテキスト入力の有無を判断した後、
このServletでHTMLかJSPをよぶか
の選択をしたかったのですが、kuro_73さんの書かれた

(2)RequestDispatcher dispatch = this.getServletContext().getNamedDispatcher("フォワードする先のサーブレット");
if (dispatch == null)throw new ServletException("サーブレット[" + forwardServlet + "]が定義されていません");
dispatch.forward(request.getRequest(), response);

というプログラムの意味がよく理解できてないのですが
これは、。。。フォワードするServletだけを
書いておいたらいいのですか?
よろしくお願いします。

補足日時:2001/08/16 17:43
    • good
    • 0

きっと、<INPUT TYPE="text">の中身は表示の時にビーンから与えるんですね?


それで、<INPUT TYPE="text">の中身があってボタンを押すと、ビーンの中身をクリアして、もう一度同じページを表示する。
<INPUT TYPE="text">の中身が空でボタンを押すと次のページにいける。

もしこれが正しいとすれば、注意するべきは、
「同じJSPを表示」するときにサーブレットを介するのか、JSPに直接アクセスするのかということ。
Servletを介するのであれば、Servletの中でBeanの中身をクリアすればいいんですが、直接JSPの場合は、JSPの中で、Beanの中身をクリアしなければなりません。
JSPは、自分がはじめて呼ばれたのか、二回目に呼ばれたのかを判断するプログラムが必要となります。

やりたいことは、こんな感じでできると思います。
ただし、今手元にJavaScriptのリファレンスがないので、
if(txt.trim()=='')
この部分はあやしいです。
trim()もあるかどうかわからないし、== ではなく、equalsかも・・

<form name=a>
<input type="hidden" name="beanClear">
<input type="text" name="txt1">
<input type="button" onClick="check()">
</form>

<SCRIPT LANGUAGE="javascript">
<!--
function check(){
var txt = document.a.txt1.value;
//FORM a の txt1の値がブランクならば次のHTMLへ
if(txt.trim()==''){
document.a.action = "/html/next.html";
}else{
// trueならば受け取ったJSPかServleでBeanの中身をクリアする
document.a.beanClear.value= "true";
document.a.action = "/html/this.jsp";
}
document.a.submit();
}
-->
</SCRIPT>

この回答への補足

>きっと、<INPUT TYPE="text">の中身は表示の時に
>ビーンから与えるんですね?

はい。そうなんです。
<INPUT TYPE = "text" NAME = "cd" size = "15" MAXLENGTH=2
value= "<jsp:getProperty name="wk" property="cd_text" />">

こんな感じです。

>それで、<INPUT TYPE="text">の中身があってボタンを押すと、
>ビーンの中身をクリアして、もう一度同じページを表示する。
><INPUT TYPE="text">の中身が空でボタンを押すと次のページにいける。

そうなんです。説明が足りなくてすみませんでした。
そういうことが言いたかったんです。質問が伝わりませんよね。
ほんと、すみません。

>注意するべきは、「同じJSPを表示」するときにサーブレットを介するのか、
>JSPに直接アクセスするのかということ。
>Servletを介するのであれば、Servletの中でBeanの中身をクリアすればいいんですが、
>直接JSPの場合は、JSPの中で、Beanの中身をクリアしなければなりません。
>JSPは、自分がはじめて呼ばれたのか、二回目に呼ばれたのかを判断するプログラムが
>必要となります。


えーと。。
私がやってたのは、JSPでボタンを以下のように作ります。
<INPUT TYPE = "submit" NAME="RTN" VALUE ="RTN">

そして、ServletがBeanのインスタンスを作成し、
Beanの中でテキストの入力有無を判断し、テキスト入力合った場合
同じJSPを表示しますのでSetメソッドを使って
テキストをクリアし、セットします。

これは実行されるのですが、
テキスト入力がなかった場合は次のページに移動したいのに
その動作ができません。

それは、ServlvetのdoPostメソッドで最後にJSPを呼び出す処理
があるからです。そのへんの処理を作りたいのですが。。。
Servletで次のHTMLに移動することはできますか?

それとも、kuro_73さんが書かれたような
スクリプトじゃないと難しいのでしょうか。。?

補足日時:2001/08/16 16:19
    • good
    • 0

>画面には、テキストとボタンが配置してます。


>Aボタンクリックで、テキストに何にも
>値が入ってない場合は別のHTMLに移動し、
>何か値が入っている場合は テキストをクリアする処理をしたいのですが
>上記のように、JSPで判断させようとしています。

テキストというのは、<INPUT>タグのテキストのことでしょうか?
だとすると、JSPの使用方法の認識に誤りがあります。
JSPは表示する前にコンパイルしてHTML形式に吐き出すものなので、
表示されてしまったものの現在の状態を認識したり、
変更することはできません。

テキストという意味が、wkビーンのrtn_tmpというプロパティの値の意味であるならば、
まず wk.getRtn_tmp()==1 を wk.getRtn_tmp().equals("1")
に変更する必要があります。

お書きになられてたソースでは、
wk.getRtn_tmp()==1 ならば、form.htmlに
wk.getRtn_tmp()!=1 ならば、/servlet/jyohoya.kanri_Srvサーブレットに
移動するようになっています。

移動した先が真っ白なのは、

・Servletにしか移動していない&&サーブレットにエラーがある
(エラーというよりも、動作しているものの、正しいパラメーターを受け取っていないため、誤動作していて、PrintWriterをフラッシュしていない状態)
・<INPUT>を含む<FORM>のアクション先に移動している

のどちらかだと思います。

前の方もかかれていましたが、
やりたい事が、はっきり見えません。もう少し詳しい情報をお願いします。

この回答への補足

kuro_73さん、引き続き、有り難うございます。

>テキストというのは、<INPUT>タグのテキストのことでしょうか?
>だとすると、JSPの使用方法の認識に誤りがあります。
>JSPは表示する前にコンパイルしてHTML形式に吐き出すものなので、
>表示されてしまったものの現在の状態を認識したり、
>変更することはできません。

そうです。
流れとしては。。。

入力画面(JSPで書いている)にINPUTタグのテキストと、ボタンがあって、
(1)もし、テキストになにかを入力した状態で
ボタンを押すと同じJSPの画面を表示させるんですが、そのときは
テキストはクリアして出したいのです。
(2)もし、テキストになにも入力されていない状態で
ボタンを押したらHTMLの画面(入力画面と別の画面)に移動
させたいのです。

こんな感じで、伝わりますでしょうか。。。

>お書きになられてたソースでは、
>wk.getRtn_tmp()==1 ならば、form.htmlに
>wk.getRtn_tmp()!=1 ならば、/servlet/jyohoya.kanri_Srvサーブレットに
>移動するようになっています。

そうですね。。なんか認識不足、使用方法を間違ってる気がします。

よく分からなくなってきましたが、やりたいことを
端的に言うと、一つのボタンに、Resetの処理と移動の処理
の二つの機能を持たせたいってことだったのですが。。。
単純にボタンを二つわけたらいい、といえばいいのですが、、、
よろしくお願いします。

補足日時:2001/08/16 15:21
    • good
    • 0
この回答へのお礼

<説明、質問の補足>です。

ボタンクリックで、ブラウザからServletに
リクエストが送信されます。そして、
ServletからBeanのインスタンス作成で
Beanで処理をさせ、その後、Servletが
JSPを呼び出す・・・・という
一連の流れがありますよね。

で、ボタンクリック後、テキストに入力があったか
どうかを判断するのはBeanで処理するとして、
ServletがJSPをよぶか、HTMLを呼ぶか判断
するようにしたらいいのでしょうか??

お礼日時:2001/08/16 15:36

> JSPのIF文で判断させようと思ったんですが・・・



「思ったんですが」どうなったんでしょうね。期待通りにならないのは
わかるんですが、JSP のエラーが出るんでしょうか、それとも、テキストに
値が入っているかどうかに関わらず、if のどちらかしか通らないとか。

もし、JSP のエラーが出てるんなら、%>> を %> > (間にスペースをひとつ)とか。

wk は、session に保持しているんですよね。値を突っ込んでいるつもりで、
突っ込まれていない、とか。

<%= wk.getRtn_tmp() %> とやって、値を確かめてみるとか。

# 試してないので、全くのあてずっぽうです


ちなみに、期待している動作は JavaScript だけでも実現できますが、
そういう選択肢は駄目ですか?

この回答への補足

回答ありがとうございます。

>> JSPのIF文で判断させようと思ったんですが・・・

>「思ったんですが」どうなったんでしょうね。
>期待通りにならないのは わかるんですが、
>JSP のエラーが出るんでしょうか、それとも、
>テキストに 値が入っているかどうかに関わらず、
>if のどちらかしか通らないとか。

すみません。投げかけておいて、中途半端ですよね。
申し訳ないです。
JSPのIF文で判断させると、エラーにはならずに
実行はするんですが、
IFでもELSEでも、どちらも
白いページに移動するだけです。

>ちなみに、期待している動作は JavaScript だけでも実
>現できますが、
>そういう選択肢は駄目ですか?

私はスクリプトについて全く知らないのですが、
この動作は実現できるのですか?
だとしたらどのようにすればできるのか
ご教授願いたいのですが。。。。
よろしくお願いします。
私のほうも、もう少し調べてみます。

補足日時:2001/08/16 14:26
    • good
    • 0

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

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

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

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

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

Q亀甲牡丹ヒントニーの育て方

1年前くらいに、亀甲牡丹ヒントニー(実生?)の小さい鉢植えを買いました。
お店の人が、肥料などはいらないから水だけ2週間に1回くらいでコップ1杯くらいあげて、と言っていたので、そうしていたのですが、最近になって、葉っぱ?が茶色になってきています(枯れてる?)
夏ぐらいまでは綺麗な緑色だったのですが。
室内の日はあんまりあたらないところに置いてます。
サボテンを育ててるのは初めてで、どうしたらよいのか全く分からないです。

水やりの頻度や量をこうしたらいいとか、肥料はいらないのか、とかアドバイスがあったら教えてください。
今は、まだ直径4センチ、高さ2センチくらいの大きさです。
鉢が買ったときの小さいもの(直径8センチ、高さ10cmくらい)なのですが、植え替えたほうがいいのでしょうか。
また、日なたに置くのと日陰におくのとどちらがいいのでしょうか。

参考になるのかわかりませんが、今朝とった写真をつけました。

Aベストアンサー

誠に残念ですが、画像を見る限り九分九厘枯れています。
一分の望みはあるかも知れませんが、このような状態になってからでは
助けようがありません。元の緑色に戻すのは不可能です。
今後に新たに購入されるかも知れませんので、亀甲牡丹ヒントニーが何
であるかと言うより、サボテンがどんな植物であるのかを説明したいと
思います。これを読めばサボテンと言う植物が分かり、販売店の方が言
われた事が間違いだった事が分かります。

サボテンと言う植物は暑さや乾燥に非常に強く、多湿や寒さには非常に
弱い植物が多いです。一部には寒さにも強い種類もありますが、そのよ
うな種類は世界中に数種類しかありません。
暑さに強いと言うのは、自生地が亜熱帯や砂漠等で自生する物が多いと
言う訳で、長期間も雨が降らないメキシコ等が有名です。
体に水分を蓄えられる機能を持っているため、水遣りを怠っても直ぐに
は枯れる事がありません。蓄えた水分を少しづつ使用し、雨が降るまで
生き延びようとします。蓄えた水にも限りがあるので、全て使い切って
しまうと当然ですが枯れてしまいます。逆に普通の草花のように毎日の
ように水遣りをすると、蓄えられる水分分量を超えますから、根腐れを
起こして腐敗して枯れてしまいます。

どんな植物や樹木でも共通しますが、植替え時期は必ず決められていま
す。何時でも植替えが出来るとは考えないで下さい。決められた時期に
植替えを行うようにし、状態が悪くなってからでは手遅れになります。
亀甲牡丹は通常のサボテンと同じですから、植替えは5~9月の間だけ
で行います。僕の長年の経験からすると、出来るなら梅雨時期と猛暑の
時期を除いた時期が良く、梅雨入り前までに植替えを済ませた方が良く
なります。古い土は全て捨て、新しい土を使用して植替えます。
土は市販のサボテンと多肉植物の土を使用し、何も混ぜないで購入時の
ままで使用しますが、保水性が高い種類が多いので園芸用の川砂を2割
程混ぜても構いません。

肥料は植替え時に緩効性化成肥料(マグァンプK等)を混ぜて使用し、
次回の植替えまで一切与えません。置き肥で与える時は5~9月の間に
2ヶ月に1回で少量与えます。

置き場所は年間を通して日当たりの良い場所に置き、真夏だけは光線に
より本体が焼けて茶色く変色する事があるので、真夏だけは直射日光が
当たらない場所で弱い光線に当てます。冬場は外気温が5℃近くになっ
たら早めに室内に入れ、光線が十分に当たる窓辺で管理をします。
それ以外の時期は全て屋外で管理をします。猫可愛がりをすると外気温
が7℃以上は無いと越冬が出来ないので、寒さに多少でも強くさせるに
は冬以外は屋外で光線に当てるようにします。
植替え期間は鉢の大きさで決めます。7号鉢を基準とし、それ以下なら
年毎に植替えをし、それ以上なら2年毎に植替えをします。

水遣りは4~10月は鉢土が完全に乾いてから、更に1週間経ってから
鉢底から十分に水が流れ出るまで与えます。この時にコップ半分や1杯
等と量を決めたり、2週間と言うような期間を定めるのは絶対に避ける
ようにします。与える時は鉢底から水が流れ出るまで与えるのが原則で
す。店員さんの言われた方法は、機械的水遣りと言い絶対に行っては駄
目な方法です。店員さんはサボテンの事を全く知らない人のようです。
冬場は休眠するので、1ヶ月に1~3回で与えます。出来るだけ乾かし
気味にした方が寒さに強くなるので、出来るだけ水遣りは控えます。

暖房がガンガン効いた部屋ではサボテンの本体が乾燥するので、場合に
よっては干からびてしまいます。暖房器具の放射熱が直に当たらないよ
うにし、湿度不足の時は霧吹きでサボテンの表面に水を噴霧し、乾燥か
ら守る工夫が必要です。冬場でも掃除で窓を開ける事があるはずですが
窓を開けても冷気に長時間も当てないようにします。サボテンでも風邪
を引く事を覚えて下さい。

画像を見ると鉢の大きさが大き過ぎます。画像のような深鉢が好ましい
のですが、大きな鉢に小さなサボテンが置いてあるような感じを受けま
す。実際にはサボテンと鉢の間が、人挿し指が1本入る程度が適してい
ます。現在の鉢では生育のためには好ましいとは言えません。

日向と日陰ですが、基本的には日向です。植替え直後や状態が悪い時は
明るい日陰に置くのが好ましいですが、基本的には年間を通して日向に
置くようにします。また日向であれば良いと言う事はなく、風通しが悪
いと病害虫の発生が多くなったり、土が乾きにくくなるため腐敗しやす
くなります。年間を通して風通しを良くする事は必ず必要です。

サボテンと多肉植物に関しては栽培経験が長いので、ある程度の事なら
回答が出来ます。他に質問があれば締め切らずに補足質問をして貰えれ
ば、分かる範囲で答えようと思います。

誠に残念ですが、画像を見る限り九分九厘枯れています。
一分の望みはあるかも知れませんが、このような状態になってからでは
助けようがありません。元の緑色に戻すのは不可能です。
今後に新たに購入されるかも知れませんので、亀甲牡丹ヒントニーが何
であるかと言うより、サボテンがどんな植物であるのかを説明したいと
思います。これを読めばサボテンと言う植物が分かり、販売店の方が言
われた事が間違いだった事が分かります。

サボテンと言う植物は暑さや乾燥に非常に強く、多湿や寒さには非常に
弱い植...続きを読む

Qjsp + servlet + Beans

なぜ、jsp + servlet + Beansというような使い方をするのでしょうか?

jsp + Beansでは、表示用にjsp、複雑な処理はBeansという感じにすることの意味はわかります。
同様に、jsp + servletもわかります。

servletで行う処理と、Beansで行う処理はどこで線を引けば良いのでしょうか?

よろしくお願いします。

Aベストアンサー

>Beansとクラスっていうのは、別ですよね?
Beanとクラスは一緒です。

>クラスでやる場合はどのような不都合があるのでしょうか?
JavaBeansとは基本的には値の受け渡しで使用します。
主にsetter(set~)メソッドとgetter(get~)メソッドで成り立ちます。
またその中にビジネスロジックを搭載しsetした値から何かの数値を計算するとかしてそれをgetで取得するって感じです。

一応参考までにJavaBeansクラスはこんな感じです。

public class SampleBeans{
private String name;//名前
 private int number://番号

public String getName(){
return this.name;
}

public int getNumber(){
return this.number;
}

public void setName(String name){
this.name = name;
}

public void setNumber(int number){
this.number = number;
}

}

>Beansとクラスっていうのは、別ですよね?
Beanとクラスは一緒です。

>クラスでやる場合はどのような不都合があるのでしょうか?
JavaBeansとは基本的には値の受け渡しで使用します。
主にsetter(set~)メソッドとgetter(get~)メソッドで成り立ちます。
またその中にビジネスロジックを搭載しsetした値から何かの数値を計算するとかしてそれをgetで取得するって感じです。

一応参考までにJavaBeansクラスはこんな感じです。

public class SampleBeans{
private String name;//名前
 private...続きを読む

Q多肉植物の育て方

最近、多肉植物に興味を持って、いくつか苗を購入しました。
虹の玉、レズリー、月兎耳、白牡丹、熊童子を買ったのですが、育て方でよくわからないことがあるので教えてください。

まず、置き場所なんですが、本当は室内に置きたいんですが、日光がたくさん必要だと書いてあったので、朝から夕方までは南側の庭に出して、夕方になったら部屋に戻したいと思っているのですが、毎日植物を動かすのはよくないでしょうか?小さな鉢に入れているので、出し入れは問題ないのですが、植物は今いる場所に適応しようとするから、あまり動かすのはよくないと聞いて困っています。

外で育てるのが一番だとは思いますが、どうしても部屋に飾りたいので、日が沈んだ後だけでも室内に置きたいのですが、そういう育て方をしている方はいらっしゃるでしょうか?

あと、植え込み後のお水は、植え込み後すぐにあげたほうがいいのでしょうか?調べてみたところ、少しあげたほうがいいという意見と、植え込み時は乾いた状態で、1週間後くらいにあげたほうがいいという意見があり、どっちにすればいいのかわかりません。今日植え込みをして、念のためまだお水はあげてない乾いた状態にしています。多肉植物は初めてなので、いろいろ戸惑っていますが、長くきれいに育てたいので、詳しい方、育てているかたのアドバイスをお願いします。


長文、読んでいただいてありがとうございました。

最近、多肉植物に興味を持って、いくつか苗を購入しました。
虹の玉、レズリー、月兎耳、白牡丹、熊童子を買ったのですが、育て方でよくわからないことがあるので教えてください。

まず、置き場所なんですが、本当は室内に置きたいんですが、日光がたくさん必要だと書いてあったので、朝から夕方までは南側の庭に出して、夕方になったら部屋に戻したいと思っているのですが、毎日植物を動かすのはよくないでしょうか?小さな鉢に入れているので、出し入れは問題ないのですが、植物は今いる場所に適応しようとする...続きを読む

Aベストアンサー

日暮れ後、室内に取り込むのは悪くないですよ。
多肉植物は結露すると葉が腐ってくるので、寒い時期は室内に取り込む方が無難ですし。

ちなみに私はカフェカーテンをつけた出窓(室内側)に置いています。カーテンの下側から直射日光を浴びて元気に育ってます。結露する頃には夕方少し室内側に移動させるだけなので楽させてもらってます。

あと購入は苗の形なんですよね。苗の形になっているものは土が乾いていれば水あげて大丈夫です。
挿し芽をして増やす時はすぐ水をあげると腐ってしまう場合があるので、しばらく水をあげない方が良いですよ。

多肉植物は多少育てるのに失敗しても挿し芽で何回も復活してくれるし、姿が乱れたら仕立て直しも簡単なので安心して育てて下さい。ずぼらな私でも何年も育てられているので大丈夫です。

Qjsp,servlet,beanの流れについて

初歩の初歩の質問ですが、参考書等読んでいて混乱してしまっています。宜しくお願いします。

a.jsp(入力画面)
a_servlet.java
a_bean.java(setのみ)
b.jsp(表示画面)
b_servlet.java
b_bean.java(get,setのみ)

というファイルがある時のプログラムの流れは、
(1)a.jsp・・・画面を表示する。データを入力する。登録ボタンを押下する。
(2)a_servlet.java・・・(1)で登録ボタンを押下されたら、a.jspのデータを取得。a_bean.javaへ設定する。b.jspへ飛ぶ。
(3)a_bean.java・・・(2)によりデータが設定されている。
(4)b_servlet.java・・・a_bean.javaのデータを取得し、b_bean.javaに設定する。
(5)b_bean.java・・・(4)によりデータが設定されている。
(6)b.jsp・・・表示データをb_bean.javaより取得後、画面を表示する。削除ボタンを押下する。
(7)b_servlet.java・・・(6)で削除ボタンが押下されたらb.jspのデータを取得し、b_bean.javaへ設定する。

特にbファイルの処理順序で混乱しています。
上記のような流れで考え方は合っているでしょうか。
少々分かりずらいかもしれませんが、間違っていたら小学生でも分かるように教えてください。

初歩の初歩の質問ですが、参考書等読んでいて混乱してしまっています。宜しくお願いします。

a.jsp(入力画面)
a_servlet.java
a_bean.java(setのみ)
b.jsp(表示画面)
b_servlet.java
b_bean.java(get,setのみ)

というファイルがある時のプログラムの流れは、
(1)a.jsp・・・画面を表示する。データを入力する。登録ボタンを押下する。
(2)a_servlet.java・・・(1)で登録ボタンを押下されたら、a.jspのデータを取得。a_bean.javaへ設定する。b.jspへ飛ぶ。
(3)a_bean.java・・・(2)によりデータが設...続きを読む

Aベストアンサー

こんにちわ。
bubu2さんが言いたいのは「b.jspの初期値をどこから取得するか?」だと思うのですが、質問内の(4)で設定したb_beanをb.jspで参照できるようにb.jsp内で定義してあげればいいと思います。

(1)b_servlet内でb_beanを作って値を入れる。
(2)b_servlet内でb_beanをリクエストに入れてあげる。(3)(2)のリクエストをb.jspで参照する。

理解がずれてたらごめんなさい。

Qサイネリアの育て方

こんにちは。サイネリアを育てるのですが、サイネリアの育て方がわかりません。育て方や育てるコツを教えてくださいお願いします。

Aベストアンサー

サイネリア(シネラリア)の育て方については下記サイトに詳しく載っていますのでご覧下さい。

参考URL:http://www42.tok2.com/home/kengei/shi_00011g.htm

QServlet+Beans+JSPでのページング方法

Win2000+j2sdk1.4.2でEclipse2.1を使用して、
開発を行っております。

商品明細の画面を作っているんですが、
1ページ30明細にしたいと思っています。
つまり、検索サイトの検索結果画面のように、
30明細表示したら、次ページ+前ページの
リンクボタンを表示して、そのリンクボタンを押されたら、
同じJSP内で次ページの明細を表示するようにしたいんです。
いわゆるページング処理ってやつです。

で、今明細を表示する際には、BeansでDBを読み込んで、
そのRecordsetをJSPに渡して、getObject()を使用して、
明細表示しています。

ResultSet rs = (ResultSet)request.getAttribute("rs");
 while(rs.next()){
  out.println("<tr>");
   for(int i=0;i<columns.length;i++){
out.println("<td>"+rs.getObject(i+1));
   }
 }

上のような感じで明細書いてます。
ASPの場合だとページ処理用にRecordsetオブジェクトにプロパティがあったので、割と簡単だったのですが、
JAVAの場合getObject(x)のxの数値をうまく変更してページ処理をするのがベターな方法なんでしょうか?
それでもできないわけじゃないんですが…めんどくさいし…バグ増えそうだし…

質問内容をまとめると、
1.JAVAのWebページ処理はどうやってやるのか?または、やっていますか?
2.RecordSetオブジェクトにページ処理用のプロパティ等あるのか?

という2つになります。

そもそも、RecordSetオブジェクトをまんま使って、明細書かないよっ!てなツッコミでもいいです。

回答お待ちしてます。よろしくお願いします。

Win2000+j2sdk1.4.2でEclipse2.1を使用して、
開発を行っております。

商品明細の画面を作っているんですが、
1ページ30明細にしたいと思っています。
つまり、検索サイトの検索結果画面のように、
30明細表示したら、次ページ+前ページの
リンクボタンを表示して、そのリンクボタンを押されたら、
同じJSP内で次ページの明細を表示するようにしたいんです。
いわゆるページング処理ってやつです。

で、今明細を表示する際には、BeansでDBを読み込んで、
そのRecordsetをJSPに渡して、getObject()を...続きを読む

Aベストアンサー

>JAVAの場合getObject(x)のxの数値をうまく変更してページ処理をするのがベターな方法なんでしょうか?

ページ処理だったらrs.next()の方ですよね?
while(rs.next())の前でResultSet#absolute()を呼び出すか、もしくはResultSet#next()を必要回数
呼び出してはどうでしょうか?

<%
  ResultSet rs = (ResultSet)request.getAttribute("rs");
  rs.absolute(30 * (n - 1)); //nはページ番号
%>

<% while(rs.next()){ %>
  <tr>
  <% for(int i=0; i<columns.length; i++) { %>
    <td><%= rs.getObject(i+1) %></td>
  <% } %>
  </tr>
  <% if (rs.getRow() >= 30 * n) break; %>
<% } %>


リンクをクリックする度にDBから該当レコードのみ読み込むとか、setAttribute()の前に
処理するという方法でも良いと思います。

#一般的な方法かどうかについては、まったく自信がありません。

>JAVAの場合getObject(x)のxの数値をうまく変更してページ処理をするのがベターな方法なんでしょうか?

ページ処理だったらrs.next()の方ですよね?
while(rs.next())の前でResultSet#absolute()を呼び出すか、もしくはResultSet#next()を必要回数
呼び出してはどうでしょうか?

<%
  ResultSet rs = (ResultSet)request.getAttribute("rs");
  rs.absolute(30 * (n - 1)); //nはページ番号
%>

<% while(rs.next()){ %>
  <tr>
  <% for(int i=0; i<columns.length; i++) { %>
    <...続きを読む

Qトリカブトの育て方

山登りに行った時に、トリカブトを見ました。
とても美しく綺麗だったので、育ててみたくなり
トリカブトの種子を購入しました。

購入したのはいいのですが、肝心な育て方がわかりません。
ネットで検索したり、お花に詳しいお友達に聞いたりしても
種子からの育て方がわからないのです。

トリカブト自体を育てるのは始めてなので
詳しい育て方が知りたいと思っています。

トリカブトの育て方に詳しい方がおりましたら
よろしくご回答お願い致します。

Aベストアンサー

育てたことはありませんが手元にある「山野草の育て方&楽しみ方事典」によれば、
・種まきは2月から3月初旬、半日陰で
・用土は赤玉土4に軽石4、腐葉土2を混ぜる
・鉢は中鉢の4-6号
・水やりは芽出しの頃は多めに
・水を好むので夏は腰水で育てる
・置き場所は芽出しから休眠までは木漏れ陽が当たる半日陰
・増殖は活発で3月中旬から4月中旬に塊根を分けて殖やす
・肥料は3月中旬から4月中旬に有機性の固形肥料を与える
・根は猛毒なので手袋をはめ、作業後すぐに手を洗う
・1-2年ごとに植え替える
・露地栽培するなら半日陰で、身近への植栽は避ける
・12月下旬から2月までは休眠する
・休眠期にも土が乾いていたら水は忘れずに与える

育て方はやさしいそうです。

Qの中のonClick="location" で

教えて下さい。
<td class="text-small" style="cursor:hand" onClick="location.href=''">XXXXXX</td>
上記のような記述に「target="_blank"」の機能をもたせるにはどうしたらいいのでしょうか?
(セル内のどこでもクリックできるようにしたく、かつその時別ウィンドウが開くようにしたいのですが・・・)
宜しくお願いします。

Aベストアンサー

#1です。

すみません、若干修正させてください。

<td class="text-small" onclick="window.open('xxx.html','_blank');" style="cursor:hand">XXXXXX</td>

です。

Qプレゼントで頂いた観葉植物が枯れてしまいそうです。頂いたものなので名前と育て方が分からず葉が落ち始め

プレゼントで頂いた観葉植物が枯れてしまいそうです。頂いたものなので名前と育て方が分からず葉が落ち始めています。この植物の育て方と名前をご存知の方、助言ください。

Aベストアンサー

サンスベリアの仲間だと思います。結論から言うと枯れる心配はないと思います。

枯れ落ちた葉は葉っぱの新陳代謝で落ちただけで、言うならば葉の寿命を全うしただけです。観葉植物は大きく成長するために古い葉を落として新しい葉を生やします。最近暖かくなってきたので、新しい葉を生やすために古い葉を落とし始めたのだと思いますよ。
写真に写ってる他の葉は元気に見えますので、木の本体はまだまだ元気だと思われます。

育て方ですが、原産地が乾燥地帯なので乾燥に強い種です。寒い時期は水を全くやらなくても良いくらいです。これからの時期は、土の表面が乾いたらたっぷりと水をやり、土が乾くまでは何日も放置でOKです。枯らしてしまう最も多いパターンは水のやり過ぎによる根腐れですので、毎日水をやる必要は全然ありません。窓際に置かれてるようですので日当たりは十分だと思います。

サンスベリアの育て方:
http://sodatekata.net/flowers/page/150.html

QjspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?

・jspページにあるボタンを押すとServletに値を渡す。
・Servletで処理をする。
・処理の結果を元のjspページに表示する。

というプログラムを作りたいと考えています。
jspページ→Servletで処理をする、という所までは出来たのですが
その後元のページに戻すというところで困っています。

jspページは複数(十数ページ)あり、Servletは1つです。
a.jsp→Servlet→a.jsp
b.jsp→Servlet→b.jsp
このように、どのjspページから呼ばれても、元のjspページに
戻したいのですが、どのようにすれば実現できるでしょうか?

Aベストアンサー

doGetメソッドなら
import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class サーブレット名 extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
try {
res.sendRedirect(new URI(req.getHeader("referer")).getPath());
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
(JDKやサーバーなどの環境、eclipse等を使用しているかなど、詳しく書いたほうがいいですよ^^!ロジック自体はもっといいものがあるかどうか検討してみてください。sendRedirectメソッドはリクエスト属性を保持しないので、必要な場合はRequestDispatcher#forwardメソッドの使用も考えられます。その場合はパスの記述が/アプリ名/ファイル名ではなく/ファイル名 になりますが(余談))

doGetメソッドなら
import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class サーブレット名 extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
try {
res.sendRedirect(new URI(req.getHeader("referer")).getPath());
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
(JDKやサーバーなどの環境、eclipse等を使用しているかなど、詳し...続きを読む


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

人気Q&Aランキング

おすすめ情報