質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

解決済

POST元ではないjspのみを更新したい

saksak_planner
saksak_planner

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

3回答

0評価

0クリップ

21閲覧

投稿2020/06/19 00:17

編集2022/01/12 10:58

初めて半月です。
的確に説明できず申し訳ありませんが
宜しくお願いします。

前提・実現したいこと

A.jspからPOSTを行い、サーブレットでBeanを書き換え、B.jspにBeanの情報を更新したい。

発生している問題・エラーメッセージ

現在は、AからPOSTしてAにフォワード、Bのリロードを行うことでBは更新されてはいますが2回目の更新から再送信ダイアログが常に出てしまうのとAのフォームのユーザー操作が初期化されてしまいます

試したこと

ajaxでAからBの一部を更新する事はできましたが、BeanはActionを使用して更新しているためうまく組み合わせることができませんでした。

考え方自体が間違っているでしょうか。
ご教示いただけますと幸いです。

loin

<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ログインフォーム</title> <style> from backgroud-color: red; </style> </head> <body> <div class="log-form" align="center"> <h5>Login to your account</h5> <form action = "http://localhost:8080/fileConnector/LoginAction" method="post"> <p>user_id : <input type="text" name = "user_id" title="userid" placeholder="userid" /></p> <p>user_comment : <input type="text" name = "user_comment" size="30" maxlength="20" placeholder="comment" /></p> <p><input type="submit" value="Login"></p> </form> </div><!--end log form --> </body> </html>

LoginAction.java

package application; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import bean.User; /** * Servlet implementation class TEST */ @WebServlet("/LoginAction") public class LoginAction extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginAction() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("UTF-8"); HttpSession session = request.getSession(); int user_id = Integer.parseInt(request.getParameter("user_id")); String user_password = request.getParameter("user_password"); String user_comment = request.getParameter("user_comment"); User user = new User(); user.setUserId(user_id); user.setPassword(user_password); user.setComment(user_comment); session.setAttribute("user", user); request.getRequestDispatcher("home.jsp").forward(request, response); } }

home.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <frameset cols="500,*"> <frame src="A.jsp" name="frame1" title="左フレーム"> <frame src="B.jsp" name="frame2" title="右フレーム"> <noframes> <body> <p>フレームの代替内容</p> </body> </noframes> </frameset> </body> </html>

A.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h3>A.jsp</h3> <br><br> <form action="http://localhost:8080/fileConnector/SampleServlet" method="post"> <p>コメントの書き換え<br> <input type="text" name = "user_comment" size="30" maxlength="20" placeholder=${user.comment}></p> <p><input type="submit" value="update"></p> </form> </body> </html>

B.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="bean.User"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h3>B.jsp</h3> <br><br> <% User user = (User) session.getAttribute("user");%> <p>ユーザーID : <%=user.getUserId() %></p> <p>コメント : <%=user.getComment() %></p> </body> </html>

SampleServlet.java

package application; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import bean.User; /** * Servlet implementation class SampleServlet */ @WebServlet("/SampleServlet") public class SampleServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); HttpSession session = request.getSession(); String user_comment = request.getParameter("user_comment"); User user = new User(); user.setComment(user_comment); session.setAttribute("user", user); RequestDispatcher dispatcher = request.getRequestDispatcher("B.jsp"); dispatcher.forward(request, response); } }

イメージ説明

イメージ説明

イメージ説明

実現したいことの簡易コードを作成しました。
A.jspからコメントをPOSTして、B.jspのコメントを書き換えたいです。
その際には、innerHTMLは使用せずにBeanを書き換えたものを再表示する方法で
B.jspを更新しなければなりません。

作成いただいたコードを実行すると、A.jspがB.jspに(そのようなコーディングであるためなのですが)なります。

A.jspのテキストが「こんにちは」のまま、B.jspのBean再読み込みはできるのでしょうか。

どうかお知恵をお貸しください。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

asahina1979
asahina1979

2020/06/21 03:36

コードがないので一言、 コードが悪い可能性が高いです
saksak_planner
saksak_planner

2020/06/22 15:11

簡易的なコードを上げましたのでご確認いただけますと幸いです。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。