%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="/onsen/_htdocs/jsp/common/constants.jsp" %>
<%@ include file="/onsen/_htdocs/jsp/common/functions.jsp" %>
<%@ include file="/onsen/_htdocs/jsp/common/forward_functions.jsp" %>
<%@ include file="/onsen/_htdocs/parts/terme/constants.jsp" %>
<%@ include file="/onsen/_htdocs/jsp/common/common_include.jsp" %>
<%@ include file="/onsen/_htdocs/jsp/bean/master/DareaMasterBean.jsp" %>
<%@ include file="/onsen/_htdocs/jsp/bean/master/OareaMasterBean.jsp" %>
<%@ include file="/onsen/_htdocs/jsp/bean/master/SareaMasterBean.jsp" %>
<%@ include file="/onsen/_htdocs/jsp/bean/master/PrefMasterBean.jsp" %>
<%
logger.info("called! : " + request.getServletPath());
out.clear();
// スマホフラグ
boolean isSmp = isSmpUserAgent(request);
// PC強制表示の場合はスマホフラグを落とす
if(isForcePcDisp(request, response)) {
isSmp = false;
}
// 大エリアマップ
DareaMasterBean dareaJsonBeanList = new DareaMasterBean(request);
// 都道府県マップ
PrefMasterBean prefJsonBeanList = new PrefMasterBean(request);
// 温泉エリアマップ
OareaMasterBean oareaJsonBeanList = new OareaMasterBean(request);
// 温泉詳細エリアマップ
SareaMasterBean sareaJsonBeanList = new SareaMasterBean(request);
// -------------------------------
// パラメータ取得
// -------------------------------
String paramDareaAlpha = request.getParameter(PARAM_KEY_DAREA_ALPHA);
String paramPrefAlpha = request.getParameter(PARAM_KEY_PREF_ALPHA);
String paramAreaAlpha = request.getParameter(PARAM_KEY_AREA_ALPHA);
String paramOnsenAreaAlpha = request.getParameter(PARAM_KEY_ONSEN_AREA_ALPHA);
String paramOareaAlpha = request.getParameter(PARAM_KEY_OAREA_ALPHA);
String paramSareaAlpha = request.getParameter(PARAM_KEY_SAREA_ALPHA);
String paramIpAlpha = request.getParameter(PARAM_KEY_IP_ALPHA);
String paramFeatureAlpha = request.getParameter(PARAM_KEY_FEATURE_ALPHA);
String paramLineAlpha = request.getParameter(PARAM_KEY_LINE_ALPHA);
String paramStationAlpha = request.getParameter(PARAM_KEY_STATION_ALPHA);
String paramOnsenId = request.getParameter(PARAM_KEY_ONSEN_ID);
String paramNureportId = request.getParameter(PARAM_KEY_NUREPORT_ID);
String paramSpecialId = request.getParameter(PARAM_KEY_SPECIAL_ID);
String paramType = request.getParameter(PARAM_KEY_TYPE);
String paramDetailId = request.getParameter(PARAM_KEY_DETAIL_ID);
String paramRankType = request.getParameter(PARAM_KEY_RANK_TYPE);
String paramRankYm = request.getParameter(PARAM_KEY_RANK_YM);
String paramRewritePage = request.getParameter(PARAM_KEY_REWRITE_PAGE);
String paramKuchikomiText = request.getParameter(PARAM_KEY_KK_TEXT);
String paramKuchikomiYear = request.getParameter(PARAM_KEY_KK_YEAR);
String paramKuchikomiOnsenId = request.getParameter(PARAM_KEY_KK_ONSENID);
// -------------------------------
logger.info("RewriteParameters:["
+" "+PARAM_KEY_DAREA_ALPHA+"="+paramDareaAlpha
+" "+PARAM_KEY_PREF_ALPHA+"="+paramPrefAlpha
+" "+PARAM_KEY_AREA_ALPHA+"="+paramAreaAlpha
+" "+PARAM_KEY_ONSEN_AREA_ALPHA+"="+paramOnsenAreaAlpha
+" "+PARAM_KEY_OAREA_ALPHA+"="+paramOareaAlpha
+" "+PARAM_KEY_SAREA_ALPHA+"="+paramSareaAlpha
+" "+PARAM_KEY_IP_ALPHA+"="+paramIpAlpha
+" "+PARAM_KEY_FEATURE_ALPHA+"="+paramFeatureAlpha
+" "+PARAM_KEY_LINE_ALPHA+"="+paramLineAlpha
+" "+PARAM_KEY_STATION_ALPHA+"="+paramStationAlpha
+" "+PARAM_KEY_ONSEN_ID+"="+paramOnsenId
+" "+PARAM_KEY_NUREPORT_ID+"="+paramNureportId
+" "+PARAM_KEY_SPECIAL_ID+"="+paramSpecialId
+" "+PARAM_KEY_TYPE+"="+paramType
+" "+PARAM_KEY_DETAIL_ID+"="+paramDetailId
+" "+PARAM_KEY_RANK_TYPE+"="+paramRankType
+" "+PARAM_KEY_RANK_YM+"="+paramRankYm
+" "+PARAM_KEY_REWRITE_PAGE+"="+paramRewritePage
+" "+PARAM_KEY_KK_TEXT+"="+paramKuchikomiText
+" "+PARAM_KEY_KK_YEAR+"="+paramKuchikomiYear
+" "+PARAM_KEY_KK_ONSENID+"="+paramKuchikomiOnsenId
+" ]");
// 転送先初期値はエラーページ
String forwardPath = PAGE_PATH_ERROR;
String forwardPathSmp = PAGE_PATH_ERROR_SMP;
// 301リダイレクトURL
String redirectUrl = "";
// ===================
// ID変換
// ===================
// 大エリアID変換
Map dareaJsonBean = dareaJsonBeanList.getBeanByValue("alpha", paramDareaAlpha);
String dareaId = dareaJsonBean == null ? "" : StringUtils.defaultString(dareaJsonBean.get("id"));
// 都道府県ID変換
Map prefJsonBean = prefJsonBeanList.getBeanByValue("alpha", paramPrefAlpha);
String prefId = prefJsonBean == null ? "" : StringUtils.defaultString(prefJsonBean.get("id"));
// 温泉エリアID変換
Map oareaJsonBean = oareaJsonBeanList.getBeanByValue("alpha", paramOareaAlpha);
String oareaId = oareaJsonBean == null ? "" : StringUtils.defaultString(oareaJsonBean.get("id"));
// 温泉詳細エリアID変換
Map sareaJsonBean = sareaJsonBeanList.getBeanByValue("alpha", paramSareaAlpha);
String sareaId = sareaJsonBean == null ? "" : StringUtils.defaultString(sareaJsonBean.get("id"));
// エリアID変換(混合パラメータを優先)
if(StringUtils.isNotEmpty(paramAreaAlpha)) {
// 都道府県
prefId = prefJsonBean == null ? "": prefJsonBeanList.getBeanByValue("alpha", paramAreaAlpha).get("id");
// 都道府県でないなら大エリア
if(StringUtils.isEmpty(prefId)) {
dareaId = dareaJsonBean == null ? "" : dareaJsonBeanList.getBeanByValue("alpha", paramAreaAlpha).get("id");
}
}
// 温泉エリアID変換(混合パラメータを優先)
if(StringUtils.isNotEmpty(paramOnsenAreaAlpha)) {
// 温泉エリア
oareaId = oareaJsonBean == null ? "" : oareaJsonBeanList.getBeanByValue("alpha", paramOnsenAreaAlpha).get("id");
// 温泉エリアでないなら温泉詳細エリア
if(StringUtils.isEmpty(oareaId)) {
sareaId = sareaJsonBean == null ? "" : sareaJsonBeanList.getBeanByValue("alpha", paramOnsenAreaAlpha).get("id");
}
}
String gatheredOareaId = convertGatheredOareaId(oareaId);
String combinedOareaId = convertCombinedOareaId(oareaId);
// ===================
// ===================
// ページ番号
// ===================
int pageNum = toI(paramRewritePage);
String urlPage = "";
// 0、マイナスはあり得ない
if(pageNum < 1) {
pageNum = 1;
}
String pageNumStr = String.valueOf(pageNum);
// 2ページ目以降の場合のみURLに反映
if(pageNum > 1) {
urlPage = "page-"+String.valueOf(pageNum)+"/";
}
request.setAttribute(ATTR_KEY_PAGE_NUM_STR, pageNumStr);
// ===================
// ===================
// クチコミ一覧パラメータ
// ===================
String kuchikomiStartDay = "";
String kuchikomiEndDay = "";
// パラメータの年から開始日と終了日を設定
if(StringUtils.isNotEmpty(paramKuchikomiYear)) {
int kkYear = toI(paramKuchikomiYear);
if( kkYear != 0) {
kuchikomiStartDay = PARAM_KEY_KK_START_DAY + "_" + String.valueOf(kkYear) + "0101/";
kuchikomiEndDay = PARAM_KEY_KK_END_DAY + "_" + String.valueOf(kkYear+1) + "0101/";
}
}
// ===================
// ===================
// 都道府県別jsonBean用setAttribute
// ===================
request.setAttribute( ATTR_KEY_PREF_ID, prefId );
// ===================
// ===================
// ニフティ温泉とアクトパスは施設一覧に表示しない
// ===================
String excludeStr = PARAM_KEY_EXCLUDE + "=onsen099999&"
+ PARAM_KEY_EXCLUDE + "=onsen010921";
// ===================
logger.info("RewriteParameters After Convert:["
+" "+PARAM_KEY_DAREA+"=>"+dareaId
+" "+PARAM_KEY_PREF+"=>"+prefId
+" "+PARAM_KEY_OAREA+"=>"+oareaId
+" "+PARAM_KEY_SAREA+"=>"+sareaId
+" page=>"+pageNumStr
+" urlPage=>"+urlPage
+" ]");
// =========================================================
// 転送パス判定
// =========================================================
// -------------
// クチコミ詳細/投稿、お知らせ詳細、探訪記詳細
if(StringUtils.isNotEmpty(oareaId) && StringUtils.isEmpty(paramSareaAlpha) && StringUtils.isNotEmpty(paramOnsenId)
&& StringUtils.isEmpty(paramNureportId) && StringUtils.isNotEmpty(paramType) && StringUtils.isNotEmpty(paramDetailId)) {
// ==================
// タイプ判別
// ==================
// クチコミ関連
if(TYPE_KUCHIKOMI.equals(paramType)) {
// クチコミ投稿フォーム
if( TYPE_KUCHIKOMI_FORM.equals(paramDetailId) ) {
forwardPath = "/kuchikomi/onsen_onsen-detail/registForm/aid_" + paramOnsenId + "/1.htm";
forwardPathSmp = forwardPath;
// クチコミ投稿確認
} else if( TYPE_KUCHIKOMI_CONFIRM.equals(paramDetailId) ) {
forwardPath = "/kuchikomi/onsen_onsen-detail/registConfirm/aid_" + paramOnsenId + "/1.htm";
forwardPathSmp = forwardPath;
// クチコミ投稿完了
} else if( TYPE_KUCHIKOMI_COMPLETE.equals(paramDetailId) ) {
request.setAttribute( ATTR_KEY_KK_REGISTER_ONSEN_ID, paramOnsenId );
forwardPath = "/onsen/_htdocs/kuchikomi/kk_regist_join.jsp";
forwardPathSmp = forwardPath;
// クチコミ詳細
} else {
forwardPath = "/kuchikomi/onsen_onsen-detail/detail/aid_" + paramOnsenId + "/kid_" + paramDetailId + "/1.htm";
forwardPathSmp = forwardPath;
}
}
// お知らせ詳細
else if(TYPE_NEWS.equals(paramType)) {
forwardPath = "/kuchikomi/onsen_report/nlist/aid_" + paramDetailId + "/" + pageNumStr + ".htm";
forwardPathSmp = forwardPath;
}
// 探訪記詳細
else if(TYPE_TREPORT.equals(paramType)) {
forwardPath = "/kuchikomi/onsen_report/tlist/aid_" + paramDetailId + "/" + pageNumStr + ".htm";
forwardPathSmp = forwardPath;
}
// その他(エラー)
else {
// do nothing...
}
// ==================
}
// -------------
// クーポン、ギフト、クチコミ、お知らせ一覧、探訪記一覧
else if(StringUtils.isNotEmpty(oareaId) && StringUtils.isEmpty(paramSareaAlpha) && StringUtils.isNotEmpty(paramOnsenId)
&& StringUtils.isEmpty(paramNureportId) && StringUtils.isNotEmpty(paramType) && StringUtils.isEmpty(paramDetailId)) {
// ==================
// タイプ判別
// ==================
// クーポン
if(TYPE_COUPON.equals(paramType)) {
forwardPath = "/catalog/onsen_onsen-detail/nknc/catalog_" + paramOnsenId + "_1.htm";
forwardPathSmp = forwardPath;
}
// ギフト
else if(TYPE_GIFTCARD.equals(paramType)) {
forwardPath = "/catalog/onsen_onsen-detail/gift/catalog_" + paramOnsenId + "_1.htm";
forwardPathSmp = "/catalog/onsen_onsen-detail/smp-gift/catalog_" + paramOnsenId + "_1.htm";
}
// クチコミ
else if(TYPE_KUCHIKOMI.equals(paramType)) {
forwardPath = "/kuchikomi/onsen_onsen-detail/list/aid_" + paramOnsenId + "/gu_1/" + pageNumStr + ".htm";
forwardPathSmp = forwardPath;
}
// お知らせ一覧
else if(TYPE_NEWS.equals(paramType)) {
forwardPath = "/catalog/onsen_report/s1_" + paramOnsenId + "/s2_1/s3_1/" + pageNumStr + ".htm";
forwardPathSmp = forwardPath;
}
// 探訪記一覧
else if(TYPE_TREPORT.equals(paramType)) {
forwardPath = "/catalog/onsen_report/s1_" + paramOnsenId + "/s2_1/s3_2/" + pageNumStr + ".htm";
forwardPathSmp = forwardPath;
}
// ノジマクーポン
else if(TYPE_NOJIMA_COUPON.equals(paramType)) {
forwardPath = "/catalog/onsen_onsen-detail/nojima-coupon/catalog_" + paramOnsenId + "_1.htm";
forwardPathSmp = forwardPath;
}
// -------------
// 温泉施設詳細 - 温泉紹介ページ
else if(TYPE_ABILIVE_ONSEN.equals(paramType)) {
forwardPath = "/catalog/onsen_onsen-detail/catalog_" + paramOnsenId + "_2.htm";
forwardPathSmp = forwardPath;
// 右カラム表示用パラメータ
request.setAttribute( ATTR_VALUE_PC_RIGHT_SOURCE_ONSEN_ID, paramOnsenId );
request.setAttribute( ATTR_KEY_PC_RIGHT_SOURCE_TYPE, ATTR_VALUE_PC_RIGHT_SOURCE_DETAIL );
request.setAttribute( ATTR_KEY_PC_RIGHT_TIMES_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_CAMPAIGN_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_REPORT_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_ONYOKU_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
}
// -------------
// 温泉施設詳細 - 客室・料理ページ
else if(TYPE_ABILIVE_ROOMS.equals(paramType)) {
forwardPath = "/catalog/onsen_onsen-detail/catalog_" + paramOnsenId + "_3.htm";
forwardPathSmp = forwardPath;
// 右カラム表示用パラメータ
request.setAttribute( ATTR_VALUE_PC_RIGHT_SOURCE_ONSEN_ID, paramOnsenId );
request.setAttribute( ATTR_KEY_PC_RIGHT_SOURCE_TYPE, ATTR_VALUE_PC_RIGHT_SOURCE_DETAIL );
request.setAttribute( ATTR_KEY_PC_RIGHT_TIMES_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_CAMPAIGN_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_REPORT_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_ONYOKU_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
}
// その他(エラー)
else {
// do nothing...
}
// ==================
}
// -------------
// 突レポ詳細
else if(StringUtils.isEmpty(paramSareaAlpha) && StringUtils.isNotEmpty(paramNureportId) && TYPE_TOTSUREPO.equals(paramType) && StringUtils.isEmpty(paramDetailId)) {
String nureportOareaAlpha = "";
String nureportOnsenId = "";
if(StringUtils.isNotEmpty(oareaId) && StringUtils.isNotEmpty(paramOnsenId)) {
nureportOareaAlpha = paramOareaAlpha;
nureportOnsenId = paramOnsenId;
} else {
%><%
// 突レポデータマップ
Map nureportOareaMap = (Map)request.getAttribute(ATTR_KEY_NUREPORT_OAREA_MAP);
Map nureportOnsenMap = (Map)request.getAttribute(ATTR_KEY_NUREPORT_ONSEN_MAP);
nureportOareaAlpha = nureportOareaMap == null ? "" : nureportOareaMap.get(paramNureportId);
nureportOnsenId = nureportOnsenMap == null ? "" : nureportOnsenMap.get(paramNureportId);
}
// 突レポ
if(StringUtils.isNotEmpty(nureportOareaAlpha) && StringUtils.isNotEmpty(nureportOnsenId)) {
redirectUrl = "/" + nureportOareaAlpha + "-onsen/" + nureportOnsenId + "/#report";
}
}
// -------------
// 温泉施設詳細
else if(StringUtils.isNotEmpty(oareaId) && StringUtils.isEmpty(paramSareaAlpha) && StringUtils.isNotEmpty(paramOnsenId)
&& StringUtils.isEmpty(paramNureportId) && StringUtils.isEmpty(paramType) && StringUtils.isEmpty(paramDetailId)) {
forwardPath = "/catalog/onsen_onsen-detail/catalog_" + paramOnsenId + "_1.htm";
forwardPathSmp = forwardPath;
// 右カラム表示用パラメータ
request.setAttribute( ATTR_VALUE_PC_RIGHT_SOURCE_ONSEN_ID, paramOnsenId );
request.setAttribute( ATTR_KEY_PC_RIGHT_SOURCE_TYPE, ATTR_VALUE_PC_RIGHT_SOURCE_DETAIL );
request.setAttribute( ATTR_KEY_PC_RIGHT_TIMES_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_CAMPAIGN_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_REPORT_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
request.setAttribute( ATTR_KEY_PC_RIGHT_ONYOKU_DISP_FLG, ATTR_VALUE_PC_RIGHT_DISP_FLG );
}
// -------------
// -------------
// 大エリア別クチコミ
else if( StringUtils.isNotEmpty(dareaId) && TYPE_KUCHIKOMI.equals(paramType) ) {
forwardPath = "/kuchikomi/onsen_onsen-detail/allList/gu_1/" + kuchikomiStartDay + kuchikomiEndDay + pageNumStr + ".htm?" + PARAM_KEY_DAREA + "=" + dareaId;
forwardPathSmp = forwardPath;
// PC旧右カラムの広告タグ表示
request.setAttribute(ATTR_KEY_PC_BODY_COMMON_DFP_RECT, "1");
}
// 都道府県別クチコミ
else if( StringUtils.isNotEmpty(prefId) && TYPE_KUCHIKOMI.equals(paramType) ) {
forwardPath = "/kuchikomi/onsen_onsen-detail/allList/gu_1/" + kuchikomiStartDay + kuchikomiEndDay + pageNumStr + ".htm?" + PARAM_KEY_PREF + "=" + prefId;
forwardPathSmp = forwardPath;
// PC旧右カラムの広告タグ表示
request.setAttribute(ATTR_KEY_PC_BODY_COMMON_DFP_RECT, "1");
}
// -------------
// クチコミトップ
else if( StringUtils.isEmpty(dareaId) && StringUtils.isEmpty(prefId) && StringUtils.isEmpty(paramOnsenId) && TYPE_KUCHIKOMI.equals(paramType) ) {
// 施設IDもしくはテキストの絞込みパラメータがあれば口コミ一覧にフォワード
if( StringUtils.isNotEmpty(paramKuchikomiText) || StringUtils.isNotEmpty(paramKuchikomiOnsenId) ) {
forwardPath = "/kuchikomi/onsen_onsen-detail/allList/gu_1/" + kuchikomiStartDay + kuchikomiEndDay + pageNumStr + ".htm";
forwardPathSmp = forwardPath;
// 絞込みパラメータがなければ口コミトップにフォワード
} else {
forwardPath = "/onsen/_htdocs/kuchikomi/index.jsp";
forwardPathSmp = "/onsen/_htdocs/kuchikomi/index_smp.jsp";
}
// PC旧右カラムの広告タグ表示
request.setAttribute(ATTR_KEY_PC_BODY_COMMON_DFP_RECT, "1");
}
// -------------
// ランキング
else if( TYPE_RANK.equals(paramType) ) {
// ランキングタイプの指定があれば各ランキングのページ
if( StringUtils.isNotEmpty(paramRankType) ) {
// ランキングIDマップ読み込み
String rankIdMapPath = "/onsen/_htdocs/cs/ranking-master/parts-ranking-id-map/1.jsp";
%><%
Map rankIdMap = (Map)request.getAttribute(ATTR_KEY_RANK_ID_MAP);
String rankServiceId = StringUtils.defaultString( rankIdMap == null ? "" : rankIdMap.get(paramRankType) );
// グルメグランプリ対応
if("gourmet".equals(paramRankType)){
forwardPath = "/onsen/_htdocs/ranking/gourmet/index.html";
forwardPathSmp = "/onsen/_htdocs/ranking/gourmet/index.html";
}
// サービスIDがあればフォワードの処理を行う
else if( StringUtils.isNotEmpty(rankServiceId) ) {
// 年月マップ読み込み
String ymMapPath = "/onsen/_htdocs/cs/" + rankServiceId + "/parts-ym-map/1.jsp";
%><%
Map ymMap = (Map)request.getAttribute(ATTR_KEY_RANK_YM_MAP);
String rankCatalogId = "";
String rankYmUrl = "";
// 年月指定ありの場合は指定されている年月に紐づいたカタログID
if( StringUtils.isNotEmpty(paramRankYm) ) {
rankCatalogId = ymMap == null ? "" : ymMap.get(paramRankYm);
rankYmUrl = EscapeUtil.escapeHtml(paramRankYm) + "/";
// 年月指定なしの場合は最新のカタログID
} else {
rankCatalogId = ymMap == null ? "" : ymMap.get(PARAM_KEY_RANK_YM_MAP_LATEST);
}
logger.info("rankServiceId:["+rankServiceId+"]");
if( StringUtils.isNotEmpty(rankCatalogId) ) {
forwardPath = "/onsen/_htdocs/cs/" + rankServiceId + "/ranking/" + rankCatalogId + "/1.jsp";
forwardPathSmp = "/onsen/_htdocs/cs/" + rankServiceId + "/ranking-smp/" + rankCatalogId + "/1.jsp";
}
}
// ランキングタイプの指定がなければランキングトップ
} else {
forwardPath = "/onsen/_htdocs/ranking/index.jsp";
forwardPathSmp = "/onsen/_htdocs/ranking/index_smp.jsp";
// TreasureDataパラメータ
request.setAttribute(ATTR_KEY_SMP_FOOTER_JS_COMMON_TD_DISP, "1");
request.setAttribute(ATTR_KEY_SMP_FOOTER_JS_COMMON_TD_SCREEN, "ランキングトップ");
request.setAttribute(ATTR_KEY_SMP_FOOTER_JS_COMMON_TD_SCREEN_ALPHA, "RankingTop");
}
// PC旧右カラムの広告タグ表示
request.setAttribute(ATTR_KEY_PC_BODY_COMMON_DFP_RECT, "1");
}
// -------------
// terme記事詳細
else if( StringUtils.isNotEmpty(paramDetailId) && TYPE_TERME.equals(paramType) ) {
// termeドメインにリダイレクト
redirectUrl = TERME_DOMAIN + TERME_PATH + paramDetailId + "/";
}
// -------------
// termeトップ
else if( StringUtils.isEmpty(paramDetailId) && TYPE_TERME.equals(paramType) ) {
// termeドメインにリダイレクト
redirectUrl = TERME_DOMAIN + TERME_PATH;
}
// -------------
// テーマ別ページ
else if(StringUtils.isNotEmpty(paramFeatureAlpha)) {
// ===================
// テーマ絞り込み用パラメータ文字列
// ===================
%><%@ include file="/onsen/_htdocs/jsp/bean/master/ThemeMasterBean.jsp" %><%
ThemeMasterBean themeListJsonBean = new ThemeMasterBean(request);
//ThemeJsonBean targetThemeJsonBean = themeListJsonBean.findBeanByAlpha(paramFeatureAlpha);
Map targetThemeJsonBean = themeListJsonBean.getBeanByValue("alpha", paramFeatureAlpha);
//String themaParams = StringUtils.defaultString(targetThemeJsonBean.paramStr);
String themaParams = StringUtils.defaultString(targetThemeJsonBean.get("paramStr"));
logger.info("themaParams:"+themaParams);
// ===================
// 検索結果画面メタ情報用設定
request.setAttribute(ATTR_KEY_THEME_ID, targetThemeJsonBean.get("id"));
request.setAttribute(ATTR_KEY_THEME_ALPHA, targetThemeJsonBean.get("alpha"));
request.setAttribute(ATTR_KEY_THEME_NAME, targetThemeJsonBean.get("name"));
request.setAttribute(ATTR_KEY_THEME_TEXT_IN_LIST, targetThemeJsonBean.get("textInList"));
request.setAttribute(ATTR_KEY_THEME_QUERY_STR, themaParams);
request.setAttribute(ATTR_KEY_THEME_TEXT_PC, targetThemeJsonBean.get("themeTextPc"));
request.setAttribute(ATTR_KEY_THEME_TEXT_SMP, targetThemeJsonBean.get("themeTextSmp"));
// 同じテーマがすでに指定されていた場合は、フォワード時にパラメータを付与しない
String[] themaParamSplit = themaParams.split("=");
if(themaParamSplit.length == 2){
String[] themaValues = request.getParameterValues(themaParamSplit[0]);
if(themaValues != null){
for(String themaValue : themaValues){
if(themaParamSplit[1].equals(themaValue)){
themaParams = "";
}
}
}
}
// デフォルトの並び順を変更(2016/06/29~使用していない状態)
String srtStr = "";
// -------------
// LPフラグが立っていないテーマはエラー扱いにする
if (!"1".equals(targetThemeJsonBean.get("LpFlg"))) {
// do nothing...
// -------------
// テーマ別温泉地検索結果
}else if(StringUtils.isNotEmpty(sareaId)) {
forwardPath = "/catalog/onsen_onsen-detail/lst/" + srtStr + pageNumStr + ".htm?" + PARAM_KEY_SAREA + "=" + sareaId + (StringUtils.isNotEmpty(themaParams) ? "&" + themaParams : "") + "&" + excludeStr;
forwardPathSmp = forwardPath;
// 日帰りテーマのときは、リダイレクトURLを設定(2015/09/09add)
if( "day".equals(paramFeatureAlpha) ) {
redirectUrl = "/" + EscapeUtil.escapeHtml(paramOnsenAreaAlpha) + "-onsen/" + urlPage + "?c3=1024";
}
}
// -------------
// テーマ別温泉エリア検索結果
else if(StringUtils.isNotEmpty(oareaId)) {
// 合算用温泉エリアも同時に検索する
String appendCombinedOareaParam = "";
if(StringUtils.isNotEmpty(combinedOareaId) && !gatheredOareaId.equals(combinedOareaId)) {
appendCombinedOareaParam = "&" + PARAM_KEY_OAREA + "=" + combinedOareaId;
}
// NOTICE:結果画面でgetParameterされるため、必ず1つ目のoareaが寄せた結果の温泉エリアIDであること!
forwardPath = "/catalog/onsen_onsen-detail/lst/" + srtStr + pageNumStr + ".htm?" + PARAM_KEY_OAREA + "=" + gatheredOareaId + appendCombinedOareaParam + (StringUtils.isNotEmpty(themaParams) ? "&" + themaParams : "") + "&" + excludeStr;
forwardPathSmp = forwardPath;
// 日帰りテーマのときは、リダイレクトURLを設定(2015/09/09add)
if( "day".equals(paramFeatureAlpha) ) {
redirectUrl = "/" + EscapeUtil.escapeHtml(paramOnsenAreaAlpha) + "-onsen/" + urlPage + "?c3=1024";
}
}
// -------------
// テーマ別都道府県検索結果
else if(StringUtils.isNotEmpty(prefId) && TYPE_SEARCH.equals(paramType)) {
forwardPath = "/catalog/onsen_onsen-detail/lst/" + srtStr + pageNumStr + ".htm?" + PARAM_KEY_PREF + "=" + prefId + (StringUtils.isNotEmpty(themaParams) ? "&" + themaParams : "") + "&" + excludeStr;
forwardPathSmp = forwardPath;
// 日帰りテーマのときは、リダイレクトURLを設定(2015/09/09add)
if( "day".equals(paramFeatureAlpha) ) {
redirectUrl = "/" + EscapeUtil.escapeHtml(paramAreaAlpha) + "/search/" + urlPage + "?c3=1024";
}
}
// -------------
// テーマ別大エリア検索結果
else if(StringUtils.isNotEmpty(dareaId) && TYPE_SEARCH.equals(paramType)) {
forwardPath = "/catalog/onsen_onsen-detail/lst/" + srtStr + pageNumStr + ".htm?" + PARAM_KEY_DAREA + "=" + dareaId + (StringUtils.isNotEmpty(themaParams) ? "&" + themaParams : "") + "&" + excludeStr;
forwardPathSmp = forwardPath;
// 日帰りテーマのときは、リダイレクトURLを設定(2015/09/09add)
if( "day".equals(paramFeatureAlpha) ) {
redirectUrl = "/" + EscapeUtil.escapeHtml(paramAreaAlpha) + "/search/" + urlPage + "?c3=1024";
}
}
// -------------
// テーマ別エリアなし検索結果
else if(TYPE_SEARCH.equals(paramType)
&& StringUtils.isEmpty(dareaId) && StringUtils.isEmpty(prefId)
&& StringUtils.isEmpty(oareaId) && StringUtils.isEmpty(sareaId)) {
forwardPath = "/catalog/onsen_onsen-detail/lst/" + srtStr + pageNumStr + ".htm" + (StringUtils.isNotEmpty(themaParams) ? "?" + themaParams + "&" : "?") + excludeStr;
forwardPathSmp = forwardPath;
// 日帰りテーマのときは、リダイレクトURLを設定(2015/09/09add)
if( "day".equals(paramFeatureAlpha) ) {
redirectUrl = "/cs/catalog/onsen_onsen-detail/lst/" + pageNumStr + ".htm?c3=1024";
}
}
// -------------
// テーマ別トップ
else if(StringUtils.isEmpty(dareaId) && StringUtils.isEmpty(prefId)
&& StringUtils.isEmpty(oareaId) && StringUtils.isEmpty(sareaId)) {
forwardPath = "/catalog/onsen_theme-master/catalog_" + EscapeUtil.escapeHtml(paramFeatureAlpha) + "_1.htm";
forwardPathSmp = forwardPath;
// 日帰りテーマのときは、リダイレクトURLを設定(2015/09/09add)
if( "day".equals(paramFeatureAlpha) ) {
redirectUrl = "/";
}
}
// -------------
// その他(エラー扱い)
else {
// do nothing...
}
}
// -------------
// IP別トップ
else if(StringUtils.isNotEmpty(paramIpAlpha)) {
forwardPath = "/catalog/onsen_ip-master/catalog_" + EscapeUtil.escapeHtml(paramIpAlpha) + "_1.htm";
forwardPathSmp = forwardPath;
}
// -------------
// 特集ページ
else if(StringUtils.isNotEmpty(paramSpecialId) && TYPE_SPECIAL.equals(paramType)) {
forwardPath = "/onsen/_htdocs/cs/special-element/area/" + paramSpecialId + "/" + pageNumStr + ".jsp";
forwardPathSmp = "/onsen/_htdocs/cs/special-element/area-smp/" + paramSpecialId + "/" + pageNumStr + ".jsp";
}
// -------------
// 沿線一覧
else if(StringUtils.isNotEmpty(prefId) && TYPE_ROSEN.equals(paramType)) {
if(DISP_PREF_ID_LIST.contains(prefId)){
forwardPath = "/catalog/onsen_line-company/1.htm?" + PARAM_KEY_PREF + "=" + prefId;
forwardPathSmp = forwardPath;
// 沿線を表示しない都道府県はエラー扱いにする
}else{
// do nothing...
}
}
else if(StringUtils.isNotEmpty(prefId) && (StringUtils.isNotEmpty(paramLineAlpha) || StringUtils.isNotEmpty(paramStationAlpha))) {
%><%@ include file="/onsen/_htdocs/jsp/bean/master/StationMasterBean.jsp" %><%
String paramPrefId = (String)request.getAttribute(ATTR_KEY_PREF_ID);
StationMasterBean stationJsonBeanList = new StationMasterBean(request, StationMasterBean.TYPE_PREF, paramPrefId);
// -------------
// 沿線ページ
if(StringUtils.isNotEmpty(paramLineAlpha) && DISP_PREF_ID_LIST.contains(prefId)) {
%><%@ include file="/onsen/_htdocs/jsp/bean/master/LineMasterBean.jsp" %><%
LineMasterBean lineJsonBeanList = new LineMasterBean(request);
Map lineBean = lineJsonBeanList.getLineBeanByAlpha(prefId, paramLineAlpha);
String targetLineId = StringUtils.defaultString(lineBean.get("id"));
String targetStLineId = StringUtils.defaultString(lineBean.get("lineId"));
String stationListStr = "";
List