download,,ポップアップ又一例子
<script type="text/javascript">/**************************************************************** * 機 能: 物件選択ボタンクリック処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function doSelectSisetu() {document.forms[0].action = "DPC0201";document.forms[0].target = "_blank";document.forms[0].submit();}</SCRIPT><table value="物件選択" style="width: 80px"onclick="doSelectSisetu();"></s:if><div id="sisetuNoText"><s:property value="sisetuNo" /></div><div id="sisetuNmText"><s:property value="sisetuNm" /></div></td><td></td></tr></table><script type="text/javascript">/**************************************************************** * 機 能: 施設構造物番号リンクをクリックすると処理 * 引 数: 施設構造物番号 * : 施設構造物名称 * : 施設地域コード * : 住所 * : 代表所有者(得意先名) * 戻り値: 無し ****************************************************************/function taiouJyouKyouBack(sisetuNo, sisetuNm, tiikiCd, address, shoyuNm) {var fatherDnt = null;fatherDnt = opener;fatherDnt.document.getElementById("sisetuNoText").innerText = sisetuNo;fatherDnt.document.getElementById("sisetuNo").value = sisetuNo;fatherDnt.document.getElementById("sisetuNmText").innerText = sisetuNm;var metroCd = tiikiCd.substring(0, 2);var metroList = fatherDnt.document.getElementById("metroCd");var len = metroList.length;var i = 0;for (i = 0; i < len; i++) {if (metroList.options[i].value == metroCd) {metroList.options[i].selected = true;break;}}fatherDnt.document.getElementById("address").value = address;var tokuiNm = fatherDnt.document.getElementById("tokuiNm");if (tokuiNm != null) {tokuiNm.value = shoyuNm;}var sisetuNm1 = fatherDnt.document.getElementById("sisetuNm1");if (sisetuNm1 != null) {sisetuNm1.value = sisetuNm;}(window.open('','_top').opener=top).close();}</SCRIPT>


<%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J"%><%@ taglib prefix="s" uri="/struts-tags"%><%@ taglib uri="jsj.tld" prefix="jsj"%><%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%><link rel="stylesheet" href="css/system.css" type="text/css" /><link rel="stylesheet" href="css/tabmenu.css" type="text/css" /><link rel="stylesheet" href="css/basic.css" type="text/css" /><link REL="stylesheet" type="text/css" href="css/default.css"><tiles:insertDefinition name="default.layout3"><tiles:putAttribute name="screenName">【DPJ0201】作業所対応状況登録/参照画面</tiles:putAttribute><tiles:putAttribute name="body"><script type="text/javascript" src="js/jquery/jquery-1.3.2.min.js"></script><script type="text/javascript"src="js/jquery/jQuery.CascadingSelect.js"></script><script type="text/javascript" src="js/jquery/jQuery.FillOptions.js"></script><script type="text/JavaScript" src="js/zebura.js"></script><script type="text/javascript"><!--/**************************************************************** * 機 能: サブミット実行処理. * 引 数: サブミット先アクション * 戻り値: 無し ****************************************************************/function doSubmitSelf(action) {if (action == 'DPJ0201') {document.forms[0].editMode.value = 2;}document.forms[0].action = action;doSubmit(document.forms[0]);}/**************************************************************** * 機 能: 添付ボタンを押下処理 * 引 数: サブミット先アクション * 戻り値: 無し ****************************************************************/function doUpload(action) {doSubmitSelf(action);}/**************************************************************** * 機 能: 戻るボタンを押下処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function goList() {doSubmitSelf("DPJ0200-executeBack");}/**************************************************************** * 機 能: 削除ボタンを押下処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function goDelete() {doSubmitSelf("DPJ0201-delete");}/**************************************************************** * 機 能: 支店状況リンクのクリック処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function goSitenJokyo() {document.forms[0].taioKbnCd.value = "1";doSubmitSelf("DPJ0100");}/**************************************************************** * 機 能: 作業所状況/得意先状況リンクのクリック処理 * 引 数: 対応状況区分コード * 戻り値: 無し ****************************************************************/function goSitenSelect(value) {document.forms[0].taioKbnCd.value = value;doSubmitSelf("DPJ0003");}/**************************************************************** * 機 能: 添付資料リンククリック処理 * 引 数: 状況管理番号 * : 状況管理番号枝番 * 戻り値: 無し ****************************************************************/function doDownload(kanriNo, kanriEdano) {document.forms[0].kanriNo.value = kanriNo;document.forms[0].kanriEdano.value = kanriEdano;document.forms[0].action = "DPC9000-download";document.forms[0].target = "_self";document.forms[0].submit();}/**************************************************************** * 機 能: 物件選択ボタンクリック処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function doSelectSisetu() {document.forms[0].action = "DPC0201";document.forms[0].target = "_blank";document.forms[0].submit();}/**************************************************************** * 機 能: 入力画面表示ボタンクリック処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function goYoinKakuho() {document.forms[0].editMode.value = "";document.forms[0].screenId.value = "DPJ0201";doSubmitSelf("DPJ0201-yoin");}/**************************************************************** * 機 能: 支援要請要否ラジオボタンクリック処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function changeYoseiUmFlg() {var len = document.forms[0].yoseiUmuFlg.length;var yoseiUmuFlg = '0';var i;for (i = 0; i < len; i++) {if (document.forms[0].yoseiUmuFlg[i].checked) {yoseiUmuFlg = document.forms[0].yoseiUmuFlg[i].value;break;}}if (yoseiUmuFlg == '1') {document.getElementById('yoseiKeiroCd').disabled = false;document.getElementById('yoseiFoldBtn').disabled = false;} else {document.getElementById('yoseiKeiroCd').disabled = true;document.getElementById('yoseiFoldBtn').disabled = true;}}/**************************************************************** * 機 能: 支援要請作成ボタンクリック処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function doYoseiSakusei(){document.forms[0].yoseiUmuFlg[1].checked = true;document.forms[0].yoseiKeiroCd[2].selected = true;changeYoseiUmFlg();document.forms[0].screenId.value = "RE005";document.forms[0].action = "RE005";document.forms[0].target = "_self";document.forms[0].submit();}/**************************************************************** * 機 能: GIS上へ表示ボタンクリック処理 * 引 数: 無し * 戻り値: 無し ****************************************************************/function showGis() {document.gisForm.submit();}// --></SCRIPT><s:form action="DPJ0201" method="POST" validate="true"enctype="multipart/form-data"><s:hidden name="screenId" /><s:hidden name="editMode" /><s:hidden name="saishuCd" /><s:hidden name="kanriNo" /><s:hidden name="kanriEdano" /><s:hidden name="saigaiKanriNo" /><s:hidden name="cmpCd" /><s:hidden name="dokenCd" /><s:hidden name="taioKbnCd" value="2" /><s:hidden name="sisetuNo" /><!-- ↓ボタンメニュー --><table type="button" value="編 集" onclick="doSubmitSelf('DPJ0201')"></s:if><s:else><input type="button" value="登 録" onclick="doSubmitSelf('DPJ0201-entry')"><s:if test="editMode == 2"><input type="button" value="削 除" onclick="goDelete()"></s:if></s:else><s:if test="editMode == 0 || editMode == 2"><s:if test="gisFlg == 1"><s:if test="loginInfo.route == 0"><s:if test="loginIngo.isTaiseiEmployee() == true"><input type="button" value="GIS上へ表示" onclick="showGis();"></s:if></s:if></s:if></s:if></td><td type="button" value="戻 る" onclick="goList()"></td></tr></table><!-- ↑ボタンメニュー --><br><hr style="text-align: center;">作業所対応状況<td><td style="width: 18px; border-style: none;"><br></td></tr></table><div /></s:if><s:else><s:textfield name="sortString"maxlength="3"style="ime-mode: disabled; border-color: #FFFFFF;"/></s:else></td><td style="vertical-align: top; text-align: right;">更新日時:<s:date name="updDate" format="yyyy/MM/dd HH:mm" /></td></tr><tr><td></td><th>●支店名</th><td><s:if test="editMode == 0"><s:hidden name="sitenCd" /><s:property value="sitenNm" /></s:if><s:else><s:if test="cmpCd == '001'"><s:hidden name="sitenCd" /><s:property value="sitenNm" /></s:if><s:else><s:select list="sitenNmList" name="sitenCd" listKey="l_key" listValue="l_value" /></s:else></s:else></td><td><br></td></tr><tr><td></td><th>●施設構造物名称</th><td><s:if test="editMode!=0"><input type="button" value="物件選択" style="width: 80px"onclick="doSelectSisetu();"></s:if><div id="sisetuNoText"><s:property value="sisetuNo" /></div><div id="sisetuNmText"><s:property value="sisetuNm" /></div></td><td></td></tr><tr><td></td><th>●都道府県</th><td><s:if test="editMode == 0"><jsj:Property value="metroNm" newLine="true" /></s:if> <s:else><s:select list="metroList" name="metroCd"listKey="l_key" listValue="l_value" /></s:else> <br></td><td><br></td></tr><tr><td></td><th>●住所</th><td><s:if test="editMode == 0"><s:property value="address" /></s:if><s:else><s:textfield name="address"maxlength="100"style="ime-mode: active; width: 450px; border-color: #FFFFFF;" /><br> ※入力例)東京都新宿区西新宿1-25-1</s:else></td><td style="vertical-align: top;"><s:if test="editMode != 0">最終更新日時:<s:date name="addressDate" format="yyyy/MM/dd HH:mm" /></s:if></td></tr><tr><td></td><th>●エリア</th><td><s:if test="editMode == 0"><jsj:Property value="areaNm" /></s:if><s:else><s:select list="areaList" name="areaCd" listKey="l_key"listValue="l_value" /><s:textfield name="areaNm"maxlength="32"style="ime-mode: active; width: 450px; border-color: #FFFFFF;" /></s:else></td><td><br><br></td></tr><tr><td></td><th>●対象災害</th><td><s:property value="taishoSaigai" /></td><td><br></td></tr><tr><td></td><th>●作業所名(必須)</th><td><s:if test="editMode == 0"><s:property value="sagyoNm" /></s:if><s:else><s:textfield name="sagyoNm"maxlength="50"style="ime-mode: active; width: 450px; border-color: #FFFFFF;" /></s:else></td><td><br></td></tr><tr><td></td><th>●かな名称(必須)</th><td><s:if test="editMode == 0"><s:property value="sagyoNnm" /></s:if><s:else><s:textfield name="sagyoNnm"maxlength="5"style="ime-mode: active; width: 100px; border-color: #FFFFFF;" /></s:else></td><td><br></td></tr><tr><td></td><th>●重要度</th><td><s:if test="editMode==0"><jsj:Property value="juyoNm" /></s:if><s:else><s:select list="juyoList" name="juyoCd" listKey="l_key"listValue="l_value" /></s:else><br></td><td><br></td></tr><tr><td></td><th>●指示対応状況</th><td><s:if test="editMode==0"><jsj:Property value="sijiTaioNm" /></s:if><s:else><s:radio list="sijiTaioList" name="sijiTaioCd" listKey="l_key"listValue="l_value" /></s:else></td><td><br></td></tr><tr><td></td><th>●所長名</th><td><s:if test="editMode==0"><s:property value="shochoNm" /></s:if><s:else><s:textfield name="shochoNm"maxlength="21" size="100px"style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td><br></td></tr><tr><td></td><th>●記入者</th><td><s:if test="editMode==0"><s:property value="addNm" /></s:if><s:else><s:textfield name="addNm"maxlength="21" size="100px"style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td><br></td></tr><tr><td></td><th>●連絡先</th><td><s:if test="editMode==0"><s:property value="rensaki" /></s:if><s:else><s:textarea name="rensaki" style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td><br></td></tr><tr><td></td><th>●安否確認</th><td><s:if test="editMode==0"><jsj:Property value="anpiNm" /></s:if><s:else><s:radio list="anpiList" name="anpiCd" listKey="l_key"listValue="l_value" /></s:else></td><td><br></td></tr><tr><td></td><th>●被災状況</th><td><s:if test="editMode==0"><s:property value="hisaiJokyo" /></s:if><s:else><s:textarea name="hisaiJokyo" style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td><s:if test="editMode!=0">最終更新日時:<s:date name="hisaiJokyoDate" format="yyyy/MM/dd HH:mm" /></s:if></td></tr><tr><td></td><th>●他作業所への支援可?不可</th><td><s:if test="editMode==0"><jsj:Property value="kahukaNm" /></s:if><s:else><s:radio list="kahukaList" name="kahukaCd" listKey="l_key"listValue="l_value" /></s:else></td><td><br></td></tr><tr><td></td><th>●要員資機材確保状況</th><td><s:if test="editMode!=0"><input type="button" value="入力画面表示" onclick="goYoinKakuho();"></s:if></td><td style="vertical-align: top;"><s:if test="editMode!=0">最終更新日時:<s:date name="yoinKakuhoDate" format="yyyy/MM/dd HH:mm" /></s:if></td></tr><tr><td></td><td colspan="3"><hr style="border-top: 2px dotted #808080; width: 900px;"></td></tr><tr><td></td><th>●支援要請要否</th><td colspan="2"><s:if test="editMode==0"><s:property value="yoseiUmuNm" /><s:property value="yoseiKeiroNm" /><s:if test="loginInfo.route == 0"><s:if test="foldFlg == 1"><s:if test="yoseiUmuFlg == 1"><input id="yoseiFoldBtn" name="yoseiFoldBtn" type="button" value="支援要請フォルダ" onclick="location.href('<s:property value="yoseiFoldPath" />');"></s:if></s:if></s:if></s:if><s:else><s:if test="yoseiUmuFlg == 1"><s:radio list="existOrNotList" name="yoseiUmuFlg" listKey="l_key" listValue="l_value" disabled="true" /><s:hidden name="yoseiUmuFlg" /><s:select list="yoseiKeiroList" name="yoseiKeiroCd" listKey="l_key" listValue="l_value" /><s:if test="loginInfo.route == 0"><s:if test="foldFlg == 1"><s:if test="editMode==2"><input id="yoseiFoldBtn" name="yoseiFoldBtn" type="button" value="支援要請フォルダ" onclick="location.href('<s:property value="yoseiFoldPath" />');"></s:if></s:if></s:if></s:if><s:else><s:radio list="existOrNotList" name="yoseiUmuFlg" listKey="l_key" listValue="l_value" onclick="changeYoseiUmFlg();"/><s:select list="yoseiKeiroList" name="yoseiKeiroCd" listKey="l_key" listValue="l_value" disabled="true" /><s:if test="loginInfo.route == 0"><s:if test="foldFlg == 1"><s:if test="editMode==2"><input id="yoseiFoldBtn" name="yoseiFoldBtn" type="button" value="支援要請フォルダ" onclick="location.href('<s:property value="yoseiFoldPath" />');" disabled="disabled"></s:if></s:if></s:if></s:else></s:else></td></tr><tr><td></td><th>●要請内容</th><td><s:if test="editMode==0"><s:property value="yoseiNaiyo" /></s:if><s:else><s:textarea name="yoseiNaiyo" style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td><s:if test="editMode!=0">最終更新日時:<s:date name="yoseiNaiyoDate" format="yyyy/MM/dd HH:mm" /></s:if></td></tr><tr><td></td><th>●復旧対応状況</th><td><s:if test="editMode==0"><s:property value="hukkyuTaiou" /></s:if><s:else><s:textarea name="hukkyuTaiou" style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td><s:if test="editMode!=0">最終更新日時:<s:date name="hukkyuTaiouDate" format="yyyy/MM/dd HH:mm" /></s:if></td></tr><tr><td></td><th>●支店指示</th><td><s:if test="editMode==0"><s:property value="sitenSiji" /></s:if><s:else><s:textarea name="sitenSiji" style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td><s:if test="editMode==2"><input type="button" name="youseisakusei" value="支援要請作成" onclick="doYoseiSakusei();"></s:if><s:else><br></s:else><s:if test="editMode!=0"><br><br><br><br><br>最終更新日時:<s:date name="sitenSijiDate" format="yyyy/MM/dd HH:mm" /></s:if></td></tr><tr><td></td><th>●支店指示者</th><td><s:if test="editMode==0"><s:property value="sitenSijiNm" /></s:if><s:else><s:textfield name="sitenSijiNm"maxlength="21" size="100px"style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td></td></tr><tr><td></td><th>●本社指示</th><td><s:if test="editMode==0"><s:property value="honSiji" /></s:if><s:else><s:textarea name="honSiji" style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td><s:if test="editMode!=0">最終更新日時:<s:date name="honSijiDate" format="yyyy/MM/dd HH:mm" /></s:if></td></tr><tr><td></td><th>●本社指示者</th><td><s:if test="editMode==0"><s:property value="honSijiNm" /></s:if><s:else><s:textfield name="honSijiNm"maxlength="21" size="100px"style="ime-mode: active; border-color: #FFFFFF;" /></s:else></td><td></td></tr><tr><td></td><th>●添付ファイル</th><td colspan="2" style="vertical-align: top;"><s:if test="editMode!=0"><s:file name="tenpFile" size="60" cssStyle="border-color: #FFFFFF;" /> <input type="button" value="添付"style="width: 60px; border-color: #FFFFFF;"onclick="doUpload('DPJ0201-upload');"></s:if></td></tr><tr><td></td><th></th><td colspan="2"><table status="tenp"><tr style="height: 20PX;"><s:if test="editMode==1 || editMode==2"><td><s:checkbox name="tenpNo" fieldValue="%{kanriEdano}" /></td></s:if><td><a href="#" onclick="doDownload('<s:property value="kanriNo" />','<s:property value="kanriEdano" />');"><s:property value="fileNm" /></a></td><td currency="true" />KB</td><td><s:date name="updDate" format="yyyy/MM/dd HH:mm" /></td></tr></s:iterator></tbody></table> <br></td></tr><s:if test="loginInfo.route == 0"><s:if test="foldFlg == 1"><s:if test="editMode == 0 || editMode == 2"><tr><td></td><th>●関連資料</th><td colspan="2"><a href="<s:property value="foldPath"/>"><s:property value="foldPath" /></a></td></tr></s:if></s:if></s:if></table></div></div></s:form><% // 大成地図情報連携用フォーム %><s:if test="editMode == 0 || editMode == 2"><s:if test="gisFlg == 1"><s:if test="loginInfo.route == 0"><s:if test="loginIngo.isTaiseiEmployee() == true"><form name="gisForm" method="post"target="_blank"action="http://s-gis-db01.pub.taisei.co.jp/TAISEI-GIS/start.aspx"><INPUT type="hidden" name="USERID" value="<s:property value="loginInfo.vitjUser.userid" />" ><INPUT type="hidden" name="BUMONID" value="<s:property value="loginInfo.vitjUser.sskid" />" ><s:if test="dokenCd == 1"><INPUT type="hidden" name="LAYERID" value="3"></s:if><s:elseif test="dokenCd == 2"><INPUT type="hidden" name="LAYERID" value="1"></s:elseif><INPUT type="hidden" name="KEYS" value="<s:property value="kanriNo" />"><INPUT type="hidden" name="USERKEY" value="<s:property value="loginInfo.userKey" />"></form></s:if></s:if></s:if></s:if></body></html></tiles:putAttribute></tiles:insertDefinition>package jp.co.taisei.jsj.action;import java.io.File;import javax.annotation.Resource;import jp.co.taisei.jsj.bean.TbJsjJd040tnp;import jp.co.taisei.jsj.constants.JSJConstants;import jp.co.taisei.jsj.model.DPC9000Model;import jp.co.taisei.jsj.service.DPC9000Service;import org.apache.commons.beanutils.PropertyUtils;import org.apache.commons.io.FileUtils;import org.apache.struts2.interceptor.validation.SkipValidation;/** * 添付資料ダウンロードで使用するアクションです. * * */public class DPC9000Action extends AbstractAction<DPC9000Model> {/** * シリアルバージョンID. */private static final long serialVersionUID = 600005196852281149L;/** * 添付資料ダウンロードサービス. */@Resourceprivate DPC9000Service dpc9000Service;/** * 添付資料のダウンロードを実行します. * @return 処理結果 * @throws Exception ダウンロードに失敗した場合 */@SkipValidationpublic String download() throws Exception {// 添付資料データを取得TbJsjJd040tnp condition = new TbJsjJd040tnp();PropertyUtils.copyProperties(condition, getModel());TbJsjJd040tnp value = dpc9000Service.selectOne(condition);// ダウンロードするファイルを取得File file = null;if (value != null && JSJConstants.FLG_OFF.equals(value.getDelFlg())) {file = new File(value.getFilePath());}// ファイルがない場合は404if (file == null || !file.isFile()) {return JSJConstants.NOT_FOUNT_404;}// インプットストリームgetModel().setInputStream(FileUtils.openInputStream(file));// ファイルサイズgetModel().setContentLength(file.length());// ファイル名getModel().setFileName(value.getFileNm());return JSJConstants.DOWNLOAD;}/* * (非 Javadoc) * @see jp.co.taisei.jsj.action.AbstractAction#createModel() */@Overrideprotected DPC9000Model createModel() {return new DPC9000Model();}}1.<!-- ダウンロード --> 2.<action name="*-download" 3. method="download"> 4. <result name="download" type="stream"> 5. <param name="inputName">inputStream</param> 6. <param name="contentType">${ contentType }; charset=${ contentCharset }</param> 7. <param name="contentLength">${ contentLength }</param> 8. <param name="contentDisposition">attachment; filename=${ fileName }</param> 9. </result> 10. <result name="notfound" type="httpheader"> 11. <param name="status">404</param> 12. </result> 13.</action> 