Masterファイルの実装
Masterファイルは画面を表示する際のHTMLテンプレートとして使用され、
所定の箇所に各画面JSPで生成された部品(HTML)を配置して画面を表示します。
実装例
Masterファイル
下記はMasterファイルをHTMLで作成した場合の実装例になります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title><!--@USAX_TITLE--></title>
<!-- 共通CSS -->
<link type="text/css" rel="stylesheet" href="~/_style/common.css?ver=1.0.0">
<!--@USAX_CONFIGURATION-->
</head>
<body><form id="USAX.EVENT_FORM" name="USAX.EVENT_FORM" method="post"
action="<!--@USAX_EVENTPATH-->" onsubmit="return false;">
<!-- 【システム制御情報(hidden)】 -->
<!--@USAX_SYSTEM_INFORMATION-->
<!-- 【ヘッダー・ブロック】 -->
<div id="BLOCK_HEADER"><!--@USAX_CONTENTS_HEADER--></div>
<div id="USAX_MESSAGE">
<!--【メッセージ情報】 -->
<div id="USAX_MESSAGE_RESULT"><!--@USAX_MESSAGE_RESULT--></div>
<div id="USAX_MESSAGE_FIELD"><!--@USAX_MESSAGE_FIELD--></div>
<div id="USAX_MESSAGE_TEXT"><!--@USAX_MESSAGES--></div>
</div>
<!-- 【コンテンツ】 -->
<div id="BLOCK_BODY">
<!--@USAX_CONTENTS_BODY-->
</div>
<!-- 【フッター・ブロック】 -->
<div id="BLOCK_FOOTER"><!--@USAX_CONTENTS_FOOTER--></div>
</form></body>
</html>
💡パスの「~/」は動的にURLに変換されコンテキスト・ルートを意識しません。
画面JSP
上記のMasterファイルの実装例に対応した画面JSPの実装例は以下の通りとなります。
こちらの例ではMasterファイルを物理パスで参照していますが、JSPなど動的なMasterファイルを
HTTPアクセス可能な箇所に配置してURLでの参照指定もできます。
画面JSPの実装についてはこちらを参照
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="/tags/usax" prefix="usax" %>
<usax:contents master="/home/www/webapp/template/_master.html"
bean="jp.co.hogehoge.SampleEvent"
title="サンプル画面">
<!-- ●○●○● ↓↓↓ パーツ:JavaScript/CSS ↓↓↓ ●○●○● -->
<usax:content id="USAX_CONFIGURATION">
<!-- 画面固有のJS -->
<script>
</script>
<!-- 画面固有のCSS -->
<style>
</style>
</usax:content>
<!-- ●○●○● @USAX_CONTENTS_HEADER ●○●○● -->
<usax:content id="USAX_CONTENTS_HEADER">
<jsp:include page="/_header.jsp" flush="false" />
</usax:content>
<!-- ●○●○● @USAX_CONTENTS_BODY ●○●○● -->
<usax:content id="USAX_CONTENTS_BODY">
...省略(コンテンツを実装する)
</usax:content>
<!-- ●○●○● @USAX_CONTENTS_FOOTER ●○●○● -->
<usax:content id="USAX_CONTENTS_FOOTER">
<jsp:include page="/_footer.jsp" flush="false" />
</usax:content>
</usax:contents>
Masterファイルのシンボルについて
上記の実装例でも使用されている各種シンボルについて解説します。
Masterファイルには必要に合わせて任意の場所に以下のシンボルを埋込んでください。
HTMLタイトル
テンプレートの下記シンボル位置をJSPのusax:contentsタグのtitle属性の値で書換えます。
(記述様式)
<title><!--@USAX_TITLE--></title>
JSP側記載イメージ
<usax:contents master="http://127.0.0.1:8080/_master/_master.jsp"
bean="jp.co.cam.SampleEvent"
title="サンプル・タイトル">
制御情報
Universal Xの動作に必要な制御情報の埋込み位置を指定してください(必須)。
formタグのaction(送信先)
<!--@USAX_EVENTPATH-->
メッセージ情報
<!--処理結果(SUCCESS|SUCCESS/NEXTVIEW|SUCCESS/REWRITE|ERROR|ERROR/NEXTVIEW|ERROR/REWRITE)-->
<!--@USAX_MESSAGE_RESULT-->
<!--強調フィールド-->
<!--@USAX_MESSAGE_FIELD-->
<!--表示メッセージ-->
<!--@USAX_MESSAGES-->
Hidden情報
<!--@USAX_SYSTEM_INFORMATION-->
画面ID
操作している画面のIDを任意の場所に出力できます。
(記述様式)
<!--@USAX_PRODUCT_ID-->
ユーザーID
操作しているユーザーのIDを任意の場所に出力できます。
(記述様式)
<!--@USAX_USERCODE-->
任意の配置先
JSPのusax:contentタグで作成されたHTML部品を指定の位置に配置します。
(記述様式)
<!--@{usax:contentのID}-->
(記述例)
<!--@USAX_CONTENTS_HEAD-->
JSP側記載イメージ
<usax:content id="USAX_CONTENTS_HEAD">
<jsp:include page="/_master/_menu_head.jsp" flush="false" />
<usax:label id="TITLE" />
</usax:content>