• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストボックスに遷移するごとに○が追加されるjsp)

テキストボックスに遷移するごとに○が追加されるjsp

LancerVIIの回答

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 前の質問のところが追加されていたんですね気づきませんでした。 単純にsessionを使うというだけであれば 前回提示したソースにあるindの受け渡しをsessionに入れるようにすればhiddenを使わなくても動作します。 request.getParameter("ind")をsession.getAttribute("ind") <input>のhiddenを消してind値をセッションに格納します。 APIを見ればわかりますが、int等はそのまま入らないので注意です。 >「session.getAttribute()」の使い方がよく分かりません。 セッションから指定されたキーの値を取得するメソッドになります。 例えば「こんにちは」を「msg」というキーで扱う場合 セッションにセット session.setAttribute("msg","こんにちは"); セッションから取得する場合 String message = session.getAttribute("msg"); messageに「こんにちは」が入ります。

noname#121048
質問者

補足

こんにちは。 何度も質問申し訳ありません。 「session.getAttribute()」の使い方はよく分かりました。 こんな感じで限界なんですが、コンパイルしてくれません。 -------------------------------------------------------------- <%@page language="java" %> <%@ page contentType="text/html; charset=Shift_JIS" %> <% int index = -1; try { index = Integer.parseInt(session.getAttribute("ind")); } catch ( Exception e ) { } if ( index >= 9 ) { index = -1; } %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <title>テスト</title> </head> <body> <form action="tuikakadai5.jsp" method="post"> <% for ( int i = 0; i < 9; i ++ ) { String value = ""; if ( i <= index ) { value = "○"; } %> No.<%= i + 1 %>:<input type="text" name="box" value="<%= value %>"><br> <% } %> <input type="" name="ind" value="<%= index + 1 %>"> <input type="submit" VALUE="ok"> </form> -------------------------------------------------------------- まず、setしてないので間違いだとは理解できますが、エラーで「シンボル: メソッド parseInt」が解決できませんと表示されるのがわかりません。 参考書などを見て、ただ単に名前などのデータをセッションで次に反映させるのは分かりましたが、今回引き継ぐのはループさせたテキストボックスの「"○"の状況(回数)」かと思われます。 そこで何をどう渡したり受け取ったりすればいいのかイマイチ実感できておりません。 宜しくお願いします。

関連するQ&A

  • テキストボックスの中に順番に○がついていくような・・・

    こんにちは。 jspで画像にあるような画面を表示できるようにと課題が出まして、四苦八苦しております。 内容は9個のテキストボックスがあり、OKボタンを押すごとに次のページに遷移し、1つずつ○が順に表示されていくというものです。 さらに、全てのボックスが埋まっている時にOKボタンを押すと全て空になり、また最初に戻ります。 自分で書いてみたコードはこんな感じです。 <%@page language="java" %> <%@page contentType="text/html;charset=Shift_JIS" %> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <HTML><HEAD><TITLE>課題1</TITLE> </HEAD><BODY> <FORM ACTION="kadai2.jsp" METHOD="post"> <BR> No.1:<INPUT TYPE="text" name="box1" VALUE="○"><BR> No.2:<INPUT TYPE="text" name="box2"><BR> No.3:<INPUT TYPE="text" name="box3"><BR> No.4:<INPUT TYPE="text" name="box4"><BR> No.5:<INPUT TYPE="text" name="box5"><BR> No.6:<INPUT TYPE="text" name="box6"><BR> No.7:<INPUT TYPE="text" name="box7"><BR> No.8:<INPUT TYPE="text" name="box8"><BR> No.9:<INPUT TYPE="text" name="box9"><BR> <INPUT TYPE="submit" VALUE="ok"> </FORM> </BODY></HTML> 上記と同様で、○を1つずつ増やしたファイルを9個作れば表示はできますが、それではHTMLで済んでしまいます。 1~9のボックスの部分をjava(配列)で書けますが、○を1個ずつ増やしていく方法が分かりません。 1つのファイルで自分を呼び出すという方法っぽいですが・・・ sessionでもrequestでも何でも大丈夫です。 ご教示お願いします。

    • ベストアンサー
    • Java
  • JSPのエラー画面(error.jsp)に遷移(移動)しない

    フォームを設定したlogin.htmlから情報を受け取るlogin.jspで検証をして、間違ったid番号を入力した場合はerror.jspに移動させたいのですが、遷移せず、「HTTP 500 - 内部サーバー エラー」となります。 改善のご教示お願い致します。 [login.html] <html><head><title>login.html</title></head> <body><h1>ログイン</h1><hr><br> <form method="post" action="/webapp/JSPtest/login.jsp"> <table> <tr> <td>ID:</td> <td><input type="text" name="id"></td> </tr> </table> <br><br> <input type="submit" value="送信"> <input type="reset" value="キャンセル"> </form> </body> </html> [login.jsp] <%@ page contentType="text/html;charset=Shift_JIS" pageEncoding="Shift_JIS" %> <%@ page errorPage="error.jsp" %> <html><head><title>login.jsp</title></head> <body> <% String id = "2007"; String data = request.getParameter("id"); StringBuffer temp = new StringBuffer(); if(!id.equals(data)) temp.append("数値間違い<BR>"); if(temp.length() != 0){ throw new Exception(temp.toString()); } %> <h1>こんにちは<%= data %>様</h1> <h1><%= temp.length() %> </h1> </body></html> [error.jsp] <%@page contentType="text/html;charset=Shift_JIS" pageEncoding="Shift_JIS" %> <%@ page isErrorPage="true" %> <html><head><title>error.jsp</title></head> <body> エラーメッセージ<br> <%= exception.getMessage() %> </body></html>

  • jspでのremoveによる削除方法

    通販サイトのカートの画面で購入した商品一覧が表示される画面です 削除ボタンで商品を削除したいのですが上手くいきません for(int i=0; i<item.size(); i++){ String[] b=(String[])item.get(i); tableData +="<form action=\"cart.jsp\"><tr><td>"+b[0]+"</td><td>"+b[1]+"</td><td><img src=\""+"img/"+b[2]+"\"</td><td> <input type =\"hidden\" name=\"remove\" value=\""+i+ "\"> <input type=\"submit\" name=\"d\" value=\"カートから削除する\"></form></td></tr>"; } String removeValues=request.getParameter("remove"); session.removeAttribute(""); 全文です <%@ page contentType="text/html;charset=Shift_JIS"%> <%@ page import= "java.util.ArrayList" %> <%@ page import= "java.util.List" %> <%@ page session="true" %> <% request.setCharacterEncoding("Shift_JIS"); String[] Name ={"たらばがに","毛ガニ","いか","うに","あわび"}; String[] Price = {"4000","2500","500","3000","1500"}; String[] Img ={"taraba.gif","ke.gif","ika.gif","uni.gif","awabi.gif"}; String tableData =""; ArrayList item=(ArrayList)session.getAttribute("itemlist"); try { for(int i=0; i<item.size(); i++){ String[] b=(String[])item.get(i); tableData +="<form action=\"cart.jsp\"><tr><td>"+b[0]+"</td><td>"+b[1]+//商品一覧を出す "</td><td><img src=\""+"img/"+b[2]+"\"</td><td><input type =\"hidden\" name=\"remove\" value=\""+i+ "\"><input type=\"submit\" name=\"d\" value=\"カートから削除する\"></form></td></tr>"; } String removeValues=request.getParameter("remove"); session.removeAttribute(""); int cost =0;//合計金額 for(int j=0; j<item.size(); j++){ String[] a=(String[])item.get(j); Integer value=Integer.parseInt(a[1]); cost +=value; session.setAttribute("costs",cost); } }catch(Exception e){ //tableData+=("<tr><td>"+"戻って入力してください"+"</td></tr>"); } %> <!doctype html> <html> <head> </head> <h2>カートの詳細</h2> 合計金額は<%=session.getAttribute("costs")%>円になります<br><!--合計金額の表示 --> <br> <table border ="1"> <%=tableData %> </table> <br> <a href="session.jsp">商品一覧に戻る</a> <br> </html>

    • ベストアンサー
    • Java
  • jspのテキストボックスの値保持について

    jspにおける、値の保持についての質問です。 以下のjsp内テキストボックスに値を入れ、その値を元に検索する、というものです。 jspです <form name = "form_serchList" method ="post" action ="BookSrv" > 書籍名検索 <br> 書籍名をどうぞ<input type = "text" name = "serchWord"> <input type = "hidden" name = "serch" value = "serch"> <input type="submit" value="検索"> </form> servletです // 一覧/検索画面の検索を押した際の処理 }else if("serch".equals(serch)){ // 検索したい言葉を取得 String serchWord = request.getParameter("serchWord"); // セレクト処理を呼ぶ List<BookBean>list_ = bd.selectOrSerch(con_,serchWord); // ジャンル一覧をリクエストスコープに格納 request.setAttribute("BOOK_LIST",list_); address = LIST; その際、例えば「ア」を入れて検索した場合検索は可能ですが、テキストボックス内の「ア」は消えてしまいます。これを、「ア」を消さずに保持しておく、というやり方について、どなたか教えて頂けないでしょうか?よろしくお願い致します。

    • ベストアンサー
    • Java
  • jsp 通販サイト作成での質問

    jspを使い通販サイトを作成しています 「session.jsp」では商品の選択をし選んだ商品をsessionを用いて 次のページの「cart.jsp」で表示するというものなのですが 「session.jsp」の下部で、カートに入れる のボタンを押した数に応じて 選んだ商品の数を表示するものを作ったのですが上手くカウントできていません size()を使い商品数を表示したいのですが上手くいきません どなたかよろしくお願いします <%@ page contentType="text/html;charset=Shift_JIS"%> <%@ page import= "java.util.ArrayList" %> <%@ page session="true" %> <% request.setCharacterEncoding("Shift_JIS"); String[] Price = {"4000","2500","500","3000","1500"}; String[] Name ={"たらばがに","毛ガニ","いか","うに","あわび"}; String[] Img ={"taraba.gif","ke.gif","ika.gif","uni.gif","awabi.gif"}; String message =""; String abc =""; String selectValues=request.getParameter("select"); String[] array=new String[3]; if(selectValues !=null){ array[0]=Name[Integer.parseInt(selectValues)]; array[1]=Price[Integer.parseInt(selectValues)]; array[2]=Img[Integer.parseInt(selectValues)]; ArrayList<String> i = new ArrayList<String>(); i.add(selectValues); //ここが問題点です abc="かごの中身は"+i.size()+"個です"; }else{ abc="商品を入れてください"; } %> <center><h1>海産物ショッピング</h1></center> <html> <head> <title>海産物ショッピング</title> </head> <body> <div align="center"> <hr> <form action="session.jsp"> <table border ="1"> <tr><th>たらばがに</th><th><img src="img/taraba.gif"></img></td></th><td>¥4000円<input type ="hidden" name=select value="0"><input type="submit" name=keyword value="カートに入れる"></input></td> </form> <form action="session.jsp"> </tr><tr><th>毛ガニ</th><th><img src="img/ke.gif"></img></td></th><td>¥2500円<input type ="hidden" name=select value="1"><input type="submit" name=keyword value="カートに入れる"></td></tr> <tr><th>いか</th><th><img src="img/ika.gif"></img></td></th><td>¥500円<input type ="hidden" name=select value="2"><input type="submit" name=keyword value=" カートに入れる"></td></tr> <tr><th>うに</th><th><img src="img/uni.gif"></img></td></th><td>¥3000円<input type ="hidden" name=select value="3"><input type="submit" name=keyword value="カートに入れる"></td></tr> <tr><th>あわび</th><th><img src="img/awabi.gif"></img></td></th><td>¥1500円<input type ="hidden" name=select value="4"><input type="submit" name=keyword value="カートに入れる"></td></tr> </table><br> </form> <table border ="1"> </table><br> <%=message %> <%=abc %> <hr> </div> </body> </html>

    • ベストアンサー
    • Java
  • JSPとサーブレット間での画面遷移でうまく表示できません。

    いつもお世話になっております。。。 eclipse3.4 tomcat6.0 の環境で作業しています。 JSPから受け取ったパラメータをサーブレットで条件分岐して、 条件ごとにdispatch fowardで異なったページに遷移させるページを作りたいのですが、うまくいきません。 送信JSPで、 <form action="受け取りサーブレット名" method="post"> <input type="radio" name="url" value="value1"checked> <input type="radio" name="url" value="value2"> <input type="radio" name="url" value="value3"> <input type="submit" value="jump!"> </form> と書き、受け取りでサーブレットで public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { perform(request, response); }      private void perform(HttpServletRequest request, HttpServletResponse response)         throws ServletException, IOException { response.setContentType("text/plain; charset=Windows-31J"); request.setCharacterEncoding("Windows-31J"); request.getParameter("url"); String i = request.getParameter("url"); if( i.equals("value1")) {           request.getRequestDispatcher("/遷移先1").forward(request,response); }else if(i.equals("value2")) {           request.getRequestDispatcher("/遷移先2").forward(request,response); }else if(i.equals("value3")) {           request.getRequestDispatcher("/遷移先3").forward(request,response); としています。 これでJSPからデバッグを実行すると、変数iにparam"url"でとってきた"value1"が入っているので、getParameterが成功しているのが分かりますが、その後なぜか遷移先に移りません。 おそらくdispaccher fowardがうまくいっていないか、 if文が間違ってるかだと思うのですが、 どなたかご教授くださいm(_ _)m

  • JSP→JSP フォームチェック

    困っているので助けてください。 まずプログラムの説明をさせてもらいます。 JSPからfromをつかってJSPにフォーム情報を送ります。 プログラムはこんな感じです。 <form action="abcdefg.jsp" method="post"> <input type="hidden" name="abc" value="abc"> <input type="hidden" name="def" value="def"> <input type="checkbox" name="aa" value="aa"> <input type="checkbox" name="bb" value="bb"> <input type="checkbox" name="cc" value="cc"> <input type="submit" value="次へ"> </form> これをabcdefg.jspで受け取る場合 String hidden_abc = request.getParameter("abc"); String hidden_def = request.getParameter("def"); とhiddenは必ず値が入っているのでこれで受け取れるのですが チェックボックスは選択しているかどうかわからないので上の記述では だめなようなのですがどのようなプログラムを書いたらいいのですか? 説明がうまく出来なく申し訳ないです。よろしければ教えてください。

    • ベストアンサー
    • Java
  • チェックボックスとテキストボックスを連動させたい

    JavaScriptでチェックボックスにチェックが入るとテキストボックス自動で数字の1が入る仕組みを作っています。 以下のソースまではかけたのですが 列はそれほどないのですがと行数が多数存在します。 ファンクションが一つで済む方法はありませんでしょうか。 またデータを配列で送信したいのですが配列ですと動きません。 是非教えて頂けると幸いです。 <SCRIPT LANGUAGE="JavaScript"> function check1(radio) { //チェックボックスにチェックが入った場合 if(radio.checked) { form = radio.form; form.data1[1].value = radio.value; form.data1[2].value = radio.value; form.data1[3].value = radio.value; form.data1[4].value = radio.value; }else{ //チェックが外された場合 form = radio.form; form.data1[1].value = ""; form.data1[2].value = ""; form.data1[3].value = ""; form.data1[4].value = ""; } } function check2(radio) { //チェックボックスにチェックが入った場合 if(radio.checked) { form = radio.form; form.val5.value = radio.value; form.val6.value = radio.value; form.val7.value = radio.value; form.val8.value = radio.value; }else{ //チェックが外された場合 form = radio.form; form.val5.value = ""; form.val6.value = ""; form.val7.value = ""; form.val8.value = ""; } } </SCRIPT> <FORM METHOD="POST"> <INPUT TYPE="checkbox" NAME="r" VALUE="1" onclick="check1(this)">チェック1<BR> <INPUT NAME="data1[1]" SIZE="1"> <INPUT NAME="data1[2]" SIZE="1"> <INPUT NAME="data1[3]" SIZE="1"> <INPUT NAME="data1[4]" SIZE="1"><br> <INPUT TYPE="checkbox" NAME="r" VALUE="1" onclick="check2(this)">チェック2<BR> <INPUT NAME="val5" SIZE="1"> <INPUT NAME="val6" SIZE="1"> <INPUT NAME="val7" SIZE="1"> <INPUT NAME="val8" SIZE="1"> </FORM>

  • jspでデータベースにレコード追加

    表題のことをしたいのですが、 「HTTPステータス 500 - An exception occurred processing JSP page」という エラー表示がされてしまいます。 名前、会社、住所というテキストボックスに入力して 決定ボタンを押下するとデータベースにレコード追加されるのを 目的としていますが、下記のコードで間違いはありますでしょうか? ----------------------------------------------- <%@ page language="java" %> <%@ page import="java.sql.*"%> <%@ page contentType="text/html; charset=Shift_JIS"%> <% request.setCharacterEncoding("Shift_JIS"); String strName=request.getParameter("name"); String strCompany=request.getParameter("company"); String strAddress=request.getParameter("address"); Class.forName("com.mysql.jdbc.Driver"); String strConn= "jdbc:mysql://localhost/***" + "?user=****&password=****" + "&useUnicode=true&characterEncoding=Shift_JIS"; Connection conn = DriverManager.getConnection(strConn); Statement stmt = conn.createStatement(); String strSql="insert into person (name,company,address) values('"+ strName + "'," + strCompany + "'," + strAddress + ")"; int result= stmt.executeUpdate(strSql); stmt.close(); conn.close(); %> <%//一覧ページにforward%> <jsp:forward page="****.jsp"/> ----------------------------------------------- >int result= stmt.executeUpdate(strSql); の行でエラーが出ているっぽいのですが。。。 TomcatとMySQLを使用しています。 ※環境など情報が不足していましたら、そちらもご指摘ください。  開発勉強中で、まだ理解が足りていない所が多数あります。

    • ベストアンサー
    • Java
  • サーブレットからJSPへ情報を渡す

    サーブレットからJSPへ情報を渡すことについて質問がございます。 ■質問は、ブラウザからサーブレットにリクエストして      モデルからデータを取り出しJSPがモデルを参照して      ブラウザに結果を表示し、ブラウザの画面のボタンを      クリックすると、またサーブレットにリクエストが      いくようにしたいのですが、      そのJSPから二度目のサーブレットへのリクエスト及び      リクエストする際にデータを渡すのですが、      JSPからサーブレットへ飛んでくれず404エラーがでます。      ★どうしたら、JSPからサーブレットへ飛んで       くれるでしょうか? ■簡単な流れでかきますと   リクエスト(hidden value="patu") ブラウザ  →  サーブレット  →  モデル ←→ テキスト           ↓           ↑(参照)   ブラウザ ← ← JSP →→→→→  上記の流れは一回の流れですが、次JSPからまたサーブレットへ  actionし、(hidden value="patu")をして同じ流れを  くりかえしたいのです。 ■JSPではどのようになっているかと申しますと <form action="http:://localhost:8080/sotu/TextServlet"method="POST"> <input type="image" src="NEXTquiz.gif" value="次の問題"     onclick="http://localhost:8080/sotu/TextServlet'"> <iuput type="hidden" name="patu" value="yonyc.getPatu()"> </form> となっております。 ■サーブレットでは protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {  String kye = request.getParameter("patu");//value受け取り MondaiSC mondaisc = new MondaiSC(); //モデルクラス生成  mondaisc . mondaisc.DefaultQuiz(kye, i); //モデルにキーを渡す ArrayList textList = mondaisc.getTextList();  //モデルクラスからテキストの情報が入っているArrayListを受ける り  HttpSession session =request.getSession();//sessionに入れる  session.setAttribute("text",textList);  RequestDispatcher rd =getServletContext().getRequestDispatcher("/yomi.jsp"); } このyomi.jspからまたサーブレットへ同じリクエストをおくりたいの です。  ところが飛んでくれません。  恐らく、JSPでの記述の仕方に問題があるのではないこと思っており ますが、どなたかアドバイスをお願い致します。  宜しくお願い致します。

    • ベストアンサー
    • Java