すでにベストアンサーがついてしまっているのですが、サーバ側でレンダリングした結果を受け取るのなら可能です。
表示しているJSPが以下のようなとき、ボタンを押してjQuery.loadを実行し、サーバ側のサーブレット経由などで同じJSPをレスポンスをした内容で切り替えるようにします。
html
1<%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3<!DOCTYPE html>
4<html>
5<head>
6<meta charset="UTF-8">
7</head>
8<body>
9<%
10 Integer number = (Integer)request.getAttribute("number");
11 if (number == null) {
12 number = 0;
13 }
14%>
15<div id="samp">
16<% if( number < 10 ){ %>
17小さい
18<% } else { %>
19大きい
20<% } %>
21</div>
22<input type="button" name="btn" id="btn">
23</body>
24<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
25<script type="text/javascript">
26$(function() {
27 $("#btn").on("click" , function(){
28 $("#samp").load("Replace #samp");
29 });
30});
31</script>
32</html>
ボタンを押したときに呼び出されるパス:Replaceのサーブレットでは、numberの値を何らかで決定し、同じJSPへフォワードすればよいでしょう。
java
1import java.io.IOException;
2
3import javax.servlet.ServletException;
4import javax.servlet.annotation.WebServlet;
5import javax.servlet.http.HttpServlet;
6import javax.servlet.http.HttpServletRequest;
7import javax.servlet.http.HttpServletResponse;
8
9@WebServlet("/Replace")
10public class ReplaceServlet extends HttpServlet {
11 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
12 log("replace....");
13 request.setAttribute("number", 20);
14 request.getRequestDispatcher("display.jsp").forward(request, response);
15 }
16}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/15 22:09
2018/10/15 22:14