リフレッシュ機能をつけたJSP
残りはクライアントでのリフレッシュの仕組みを用意するだけでよいですので、今回はブラウザのリフレッシュ機能を用いて定期的にリクエストを送ります。処理中の画面がリスト4、処理完了後の画面はリスト5になります。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="1;url=<s:url />/>
</head>
<body>
処理中です…
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Execute And Wait インターセプタ - success -
<br /><br />
処理が終了しました。
</body>
</html>
<s:url>はStruts 2タグの1つで、リクエストURLを生成するための機能を提供します。本来は遷移先のURLを記述するためのもので、namespace属性とvalue属性で遷移先を設定します。
サンプルのようにこの2つの属性を省略すると、リクエストのあったURLと同じものになりますので、このJSPが表示された1秒後に同じアクションをリクエストするようになります。
以上のものができあがりましたら、実際にブラウザで動かしてみましょう。http://localhost:(ポート番号)/(WAR名)/xnw/sample.actionにアクセスします。
http://localhost:8080/ExecAndWaitSample/xnw/sample.action
15秒経過すると、完了画面が表示されます。


