簡體   English   中英

在jsp中使用Scriptlet

[英]Working of Scriptlets in jsp

我正在努力維護在JSP中使用scriptlet的舊項目(我知道這不是一個好習慣但不能幫助它)。 JSP頁面包含多個scriptlet(<%%>) - 1.這些scriptlet是在bodyonload之前還是在DOM加載之前處理的2.是否scriptlet的執行順序是從上到下。 3.腳本加載之前是否運行scriptlet

提前致謝 !

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=euc-kr"
    pageEncoding="euc-kr" %>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title></title>
<style type="text/css">
</style>
<%
    String ctxPath = request.getContextPath();
    //get goods_name, cus_name from DB
    String goods_name = "»ç°ú 5kg";
    String cus_name = "È«±æµ¿";

    String ord_num = request.getParameter("ord_num");
    String carrier_code = request.getParameter("carrier_code");
    String carrier_codeOri = request.getParameter("carrier_codeOri");
    String prodClass = request.getParameter("prodClass");
    String linenumber = request.getParameter("linenumber") == null
                        || "".equals(request.getParameter("linenumber"))
                        ? "0" : request.getParameter("linenumber");
    String orddate = request.getParameter("orddate");
    String ordStatus = request.getParameter("ordStatus");
    String OrderTypeItem = request.getParameter("OrderTypeItem");
    String venderId = request.getParameter("venderId");     
    String callcenter = request.getParameter("callcenter")== null ? "" : request.getParameter("callcenter");
    String Invoice_Num = request.getParameter("invoice_num")== null ? "" : request.getParameter("invoice_num");
    String InvociesNum = Invoice_Num;
    String agent = request.getParameter("agent")== null ? "" : request.getParameter("agent");

    String strB2BI_FLAG = "";

    //change hanjin furniture express to hanjin express
    if("HF".equals(agent)){
        agent = "HJ";
    }

%>

<script language="javascript">
    var tid = "";
    function onStart() {
        var InvociesNum = '<%= InvociesNum%>';

        if (InvociesNum != ' ') {
            tid=setTimeout(init,0);
        } else {
            if(tid != undefined && tid != ""){
                clearTimeout(tid);
            }
            alert("Åùè»ç ¿î¼ÛÀå Á¤º¸°¡ ¾ø¾î¼­ ¹è¼ÛÇöȲÀ» Á¦°øÇÒ ¼ö ¾ø½À´Ï´Ù.\n\nÀá½ÃÈÄ ´Ù½Ã ½ÃµµÇØ ÁֽʽÿÀ.");
            self.close();
        }
    }
</script>
<%
   String pageUrl = "";    // connection page
   String scriptStr = "";  // call add on script function

   // # if 1
    if(InvociesNum != null && !InvociesNum.equals("")) {  // if has invoice number
                // #  if 2
                    if( "HJ".equals(agent)) {  
                        pageUrl = ctxPath+"/jsp/jseig_viewGoods.jsp";

                    } else if ("DH".equals(agent) || "DZ".equals(agent) || "CV".equals(agentd)) {  
                        pageUrl = ctxPath+"/jsp/jseig_viewGoodsT.jsp";

                    // hyundai, CJHTH  , CJGLS  , logen
                    } else if("HD".equals(agent) || "HT".equals(agent) || "CJ".equals(agent) || "KG".equals(agent)) {
                        pageUrl = ctxPath+"/jsp/jseig_viewGoodsTra.jsp";

                    // KGB express, yellow cap, dongbu, post office ...
                    } else if( "KL".equals(agent) || "AJ".equals(agent) || "KT".equals(agent) || "KR".equals(agent)
                            || "EP".equals(agent) || "ER".equals(agent) || "YC".equals(agent) || "TR".equals(agent)
                            || "SG".equals(agent) || "FA".equals(agent) || "ND".equals(agent) || "IN".equals(agent)
                            || "DS".equals(agent) || "CI".equals(agent) || "IY".equals(agent) || "KD".equals(agent) ) {
                        pageUrl = ctxPath+"/jsp/jseig_viewGoodsTrackingPHSC2.jsp";

                    } else if("DM".equals(agent)) { // dongyang magic
                        pageUrl = "http://www.tymg.co.kr/scripts/wgate/zs84a/!?VBKD-BSTKD_M="+ ord_num+";
                        scriptStr ="window.resizeTo(626,580);";

                    }else if("WW".equals(agent)) { //wizwid
                        pageUrl ="http://www.wizwid.com/CSW/handler/wizwid/kr/PopupDeliveryStatus-Start?JID=012861&JOrderID="+ord_num;
                        scriptStr  = "window.resizeTo(650,640);";

                    } else {
                        if("3100".equals(carrier_codeOri) && ("A01".equals(prodClass) || "A03".equals(prodClass) || "A05".equals(prodClass) || "A07".equals(prodClass) || "A11".equals(prodClass) || "A25".equals(prodClass))) {

                                scriptStr ="window.resizeTo(626,580);";
                                scriptStr += "document.location.replace('"+ctxPath+"/jsp/jseig_viewInstallGoodsInfo.jsp?returnOrdNum="+ord_num+"')";
                        } else {
                                scriptStr ="document.location.replace('"+ctxPath+"/jsp/viewMyBuy_popup4.jsp')";
                        }
                    }  // # if 2 END

        } else {  // have not invoice number
            if ("DM".equals(agent)){    //dongyang magic
                pageUrl ="http://www.tymg.co.kr/scripts/wgate/zs84a/!?VBKD-BSTKD_M="+ ord_num +"&ITSID=500784&ITSPW=4725";
            }else{
                if("3100".equals(carrier_codeOri) && ("A01".equals(prodClass) || "A03".equals(prodClass) || "A05".equals(prodClass) || "A07".equals(prodClass) || "A11".equals(prodClass) || "A25".equals(prodClass))) {
                    scriptStr = "document.location.replace('"+ctxPath+"/jsp/jseig_viewInstallGoodsInfo.jsp?returnOrdNum="+ord_num+"')";
                } else {
                    scriptStr = "document.location.replace('"+ctxPath+"/jsp/viewMyBuy_popup4.jsp')";
                }
            } // end if from DM
        } // # if 1 END
%>

<script language="javascript">

    function init(){
<%      if( !"GT".equals(agent) ) {
            out.print(scriptStr);
            if(!"".equals(pageUrl) && pageUrl.length()>0) { out.print("goPage('"+ pageUrl +"');");  }
        } else {
            out.print("window.open("+pageUrl+");");
        } %>
    }
    function goPage(url){
        document.invoiceForm.action = url;
        document.invoiceForm.submit();
    }


</script>
</head>

<body onload="onStart()">
<form name="invoiceForm" method="post">
  <input type="hidden" name="invoiceNum" value="<%= InvociesNum %>">
  <input type="hidden" name="invoice_num" value="<%= InvociesNum %>">
  <input type="hidden" name="ord_num" value="<%= ord_num %>">
  <input type="hidden" name="goods_name" value="<%= goods_name %>">
  <input type="hidden" name="cus_name" value="<%= cus_name %>">
  <input type="hidden" name="agent" value="<%= agent %>">
  <input type="hidden" name="reqFlag" value="Y">
  <input type="hidden" name="ordNum" value="<%= ord_num %>">
  <input type="hidden" name="lineNum" value="<%= linenumber %>">
<%
  session.setAttribute("callcenter", callcenter);
%>
</form>
<div style="height:600" align="center" valign="center">ó¸®ÁßÀÔ´Ï´Ù. Àá½Ã¸¸ ±â´Ù·Á fgfg.</div>
</body>
</html>

在瀏覽器發生任何事情之前很久就處理了scriplet。 它們是服務器端功能,一旦內容到達瀏覽器,就不會留下任何痕跡(好吧,沒有明確的跟蹤)。 執行順序從上到下,但scriptlet中的Java代碼可以包含控制流指令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM