質問編集履歴

3

初心者マーク

2018/09/22 23:56

投稿

hoppin
hoppin

スコア12

test CHANGED
File without changes
test CHANGED
File without changes

2

解決後のコードを記載

2018/09/22 23:56

投稿

hoppin
hoppin

スコア12

test CHANGED
File without changes
test CHANGED
@@ -220,6 +220,196 @@
220
220
 
221
221
  ```
222
222
 
223
+ ### 解決後のjsp
224
+
225
+
226
+
227
+ ```
228
+
229
+ <%@page contentType="text/html" pageEncoding="UTF-8"%>
230
+
231
+
232
+
233
+ <html>
234
+
235
+ <head>
236
+
237
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
238
+
239
+ <title>JSP Page</title>
240
+
241
+ </head>
242
+
243
+ <%
244
+
245
+ HttpSession set = request.getSession();
246
+
247
+ String nameA = (String)set.getAttribute("name"); // 格納された名前を取得
248
+
249
+ String seibetuA = (String)set.getAttribute("seibetu"); // 格納された性別を取得
250
+
251
+ String hobyA = (String)set.getAttribute("hoby"); //格納された趣味を取得
252
+
253
+
254
+
255
+ String stM = "男";
256
+
257
+ String stF = "女";
258
+
259
+ %>
260
+
261
+ <body>
262
+
263
+ <h1>Hello World!</h1>
264
+
265
+ <form action="addSession" method="POST">
266
+
267
+ <p>下記を入力してください。</p>
268
+
269
+ *名前:<input type="TEXT" name="name" size=20 value="<%=nameA%>" /><br>
270
+
271
+ *性別:男<input type="radio" name="seibetu" value="男" <% if(seibetuA.equals(stM)){ out.print("checked"); } %> >
272
+
273
+ 女<input type="radio" name="seibetu" value="女" <% if(seibetuA.equals(stF)){ out.print("checked"); } %> />
274
+
275
+ <br>
276
+
277
+ *趣味:<br>
278
+
279
+ <input type="TEXT" name="hoby" size=20 value="<%=hobyA%>" />
280
+
281
+ <br><br>
282
+
283
+ <input type="submit" value="送信" />
284
+
285
+ </form>
286
+
287
+ <p> <%out.print(seibetuA);%></p>
288
+
289
+ </body>
290
+
291
+ </html>
292
+
293
+
294
+
295
+ ```
296
+
297
+ ### 解決後のサーブレット
298
+
299
+
300
+
301
+ ```
302
+
303
+
304
+
305
+ import java.io.IOException;
306
+
307
+ import java.io.PrintWriter;
308
+
309
+ import javax.servlet.RequestDispatcher;
310
+
311
+ import javax.servlet.ServletException;
312
+
313
+ import javax.servlet.annotation.WebServlet;
314
+
315
+ import javax.servlet.http.HttpServlet;
316
+
317
+ import javax.servlet.http.HttpServletRequest;
318
+
319
+ import javax.servlet.http.HttpServletResponse;
320
+
321
+ import javax.servlet.http.HttpSession;
322
+
323
+
324
+
325
+ @WebServlet ( name = "addSession" , urlPatterns = {"/addSession"})
326
+
327
+ public class addSession extends HttpServlet {
328
+
329
+
330
+
331
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
332
+
333
+ throws ServletException, IOException {
334
+
335
+ response.setContentType("text/html;charset=UTF-8");
336
+
337
+ try (PrintWriter out = response.getWriter()) {
338
+
339
+
340
+
341
+ request.setCharacterEncoding("UTF-8");
342
+
343
+ String name = request.getParameter("name");
344
+
345
+ String seibetu = request.getParameter("seibetu");
346
+
347
+ String hoby = request.getParameter("hoby");
348
+
349
+
350
+
351
+
352
+
353
+ HttpSession set = request.getSession();
354
+
355
+ set.setAttribute("name",name);
356
+
357
+ set.setAttribute("seibetu",seibetu);
358
+
359
+ set.setAttribute("hoby",hoby);
360
+
361
+
362
+
363
+ String nameA = (String)set.getAttribute("name");
364
+
365
+ String seibetuA = (String)set.getAttribute("seibetu");
366
+
367
+ String hobyA = (String)set.getAttribute("hoby");
368
+
369
+
370
+
371
+ out.println("<!DOCTYPE html>");
372
+
373
+ out.println("<html>");
374
+
375
+ out.println("<head>");
376
+
377
+ out.println("<title>Servlet addSession</title>");
378
+
379
+ out.println("</head>");
380
+
381
+ out.println("<body>");
382
+
383
+ out.println("<p>名前: " + nameA + "</p>");
384
+
385
+ out.println("<p>性別: " + seibetuA + "</p>");
386
+
387
+ out.println("<p>趣味: " + hobyA + "</p>");
388
+
389
+ out.println("<p>セッションに保存しました。</p>");
390
+
391
+ out.println("</body>");
392
+
393
+ out.println("</html>");
394
+
395
+
396
+
397
+
398
+
399
+ }
400
+
401
+ }
402
+
403
+
404
+
405
+ }
406
+
407
+
408
+
409
+ ```
410
+
411
+
412
+
223
413
  ### 試したこと
224
414
 
225
415
 
@@ -229,3 +419,5 @@
229
419
 
230
420
 
231
421
  このようにjspにif文を入れてみましたがやはりブラウザの更新でラジオボタンだけ外れてしまいます。
422
+
423
+ 追記:↑はequalsを使った文字列比較で解決しました(初歩の初歩で恥ずかしい。)

1

誤字

2018/09/22 23:53

投稿

hoppin
hoppin

スコア12

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  フォームを更新してもテキストボックスの中に値が残っている事を確認しました。
24
24
 
25
- しかし type="radio" だけうまくいきません。ラジオボタンだけ外れてしまうのです。
25
+ しかし type="radio" だけうまくいきません。ラジオボタンだけ外れてしまいます。
26
26
 
27
27
 
28
28