Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(アラートがうまく表示できません)
閲覧数:863
掲示板(アラートがうまく表示できません)
名前
匿名
題名 アラートがうまく表示できません
質問内容

質問を評価する
(0ポイント)
こんにちは
テキストボックスに入力すると
下に追記していくプログラムを作りました
そしてそこに空、空白を入れて送信すると
アラートボックスがでるようなものを作りたいです
アラーとボックスがでたりでなかったりしているのですが・・・
なぜでしょうか??

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

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

public class Bb extends HttpServlet{
    public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{
        
        response.setContentType("text/plain; charset=Shift_JIS");
        //文字化けしないようにShift_JIS指定
        
        request.setCharacterEncoding("Shift_JIS");
       
        
        String param = request.getParameter("aaa");
        Object mozi = param;
        HttpSession session = request.getSession();
       //セッションの開始
      
        if(param!=null){
            session.setAttribute(param,mozi);
            //引数mozi paramという名前で登録??
        }
       
       
        PrintWriter out = response.getWriter();
        //出力
        out.println("<html>");
        out.println("<head>");
        out.println ("<script type=text/javascript>");
        out.println("<!--"); 
        out.println("function ale()");
        out.println ("{");    
        out.println("if(document.fm.aaa.value=='')");  //value テキストボックスの内容
        out.println("{");        
        out.println("alert('データを入力してください')");    
        out.println("}");
        out.println("}");
        out.println ("// -->");
        out.println ("</script>");
        out.println("</head>");
        
        
        
        
        out.println("<body>");
        out.println("<form name=fm>");
        out.print("<input type='text' name=aaa  onclick='ale()'>");
        out.println("<input type='submit' value=クエリ送信><br>");

        
       
        Enumeration names=session.getAttributeNames();
        //get・・すべてのセッション取得
        /*enumerationは 繰り返しに必要
        Enumeration インタフェースを実装するオブジェクトは、
        一連の要素を 1 回に 1 つずつ生成します。nextElement メソッドを連続して
        呼び出すことによって、連続するそれらの要素が返されます。 
        */
        
        while(names.hasMoreElements()){
            String kkk=(String)names.nextElement();
            if(kkk!=null){
            out.println(kkk+"<br>");
            out.println("");
            }
        }  
        out.println("</form>");
        out.println("</body></html>");
    
    
    }
}
質問日時 2013-04-03 12:24:16
名前
匿名
回答内容

回答を評価する
(0ポイント)
ん? 

レスポンスされる HTMLが間違えているので実行されない
だけです。

どう間違えてるかは Javascript の掲示板で聞くのが早い
でしょう。(笑
回答日時 2013-04-03 14:45:06
名前
匿名
回答内容

回答を評価する
(0ポイント)
ひとつ前のが解決しとらんのに次か。
良く分からないうちは、あまり欲張らない方がいいよ。

前回の分。
セッションの属性に使われてるMapというのは、普通順序を
考慮しないものなんだよ。
Aに対してa、Bに対してbというように、関連付けを表すのに
使う。

そもそも、とある情報を格納するのに毎回別のキーを使うの
はよろしくない。
セッションにはStringしか格納できないわけじゃなくて、例え
ばListも格納できる。

今回の分。
JSPは、ブラウザに来たときはただのHTMLだよ。
右クリックからソース表示して、正しいHTMLが作られてるか
を確認。
Webアプリを作るときの基本。
回答日時 2013-04-03 23:54:09
名前
匿名
回答内容

回答を評価する
(0ポイント)
質問者です

丁寧にありがとうございます
あせらずじっくりやりたいと思います。
助かりました!!
回答日時 2013-04-04 13:55:54

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道