¹ÜÀíÓë³ÌÐòÉè¼ÆÖ¸ÄÏ

ʹÓúê(ºêÇëÇó)µ÷Óà Net.Data

¿Í»§»úä¯ÀÀÆ÷ͨ¹ý·¢ËÍ URL ¸ñʽµÄÇëÇóÀ´µ÷Óà Net.Data¡£±¾½Ú½«¸æËßÄúÈçºÎͨ¹ýÔÚ URL ÇëÇóÖÐÖ¸¶¨Ò»¸öºêÀ´µ÷Óà Net.Data¡£

·¢Ë͸ø Net.Data µÄÇëÇó¾ßÓÐÒÔϸñʽ¡£

http://server/Net.Data_invocation_path/filename/block[?name=val&...]

²ÎÊý£º

server
Ö¸¶¨ Web ·þÎñÆ÷µÄÃû³ÆºÍ·¾¶¡£Èç¹ûÊDZ¾µØ·þÎñÆ÷£¬Ôò¿ÉÒÔºöÂÔ·þÎñÆ÷Ãû³Æ¶øÊ¹ÓÃÏà¹ØµÄ URL¡£

Net.Data_invocation_path
Net.Data ¿ÉÖ´ÐÐÎļþ¡¢Ð¡·þÎñ³ÌÐòÀà¡¢DLL »ò¹²Ïí³ÌÐò¿âµÄ·¾¶ºÍÎļþÃû¡£ÀýÈ磬/cgi-bin/db2www/¡£

filename
Ö¸¶¨ Net.Data ºêÎļþµÄÃû³Æ¡£Net.Data ËÑË÷²¢ÊÔͼÓà MACRO_PATH ³õʼ»¯Â·¾¶±äÁ¿ Öж¨ÒåµÄ·¾¶Óï¾äÀ´ÓëÕâ¸öÎļþÃûÆ¥Åä¡£²Î¼ûMACRO_PATHÒÔ»ñÈ¡¸ü¶àÐÅÏ¢¡£

block
ÔÚÒýÓÃµÄ Net.Data ºêÖÐÖ¸¶¨ HTML ¿éµÄÃû³Æ¡£

?name=val&...
Ö¸¶¨Ò»¸ö»ò¶à¸ö´«µÝ¸ø Net.Data µÄ¿ÉÑ¡²ÎÊý¡£

ÄúÖ±½ÓÔÚä¯ÀÀÆ÷ÖÐÖ¸¶¨´Ë URL¡£»òÕߣ¬Ò²¿ÉÒÔÔÚ HTML Á´½ÓÖÐʹÓÃËü£¬»òʹÓÃ±íµ¥À´¹¹½¨Ëü£¬ÈçÏÂËùʾ£º

²ÎÊý£º

method
Ö¸¶¨Óë±íÒ»ÆðʹÓÃµÄ HTML ·½·¨¡£

URL
Ö¸¶¨ÓÃÓÚÔËÐÐ Net.Data ºêµÄ URL£¬ÆäÖеIJÎÊýÒѾ­ÔÚÉÏÃæÃèÊö¹ýÁË¡£

ʾÀý

ÒÔÏÂʾÀýÑÝʾÁ˵÷Óà Net.Data µÄ²»Í¬·½Ê½¡£

Àý 1£ºÊ¹Óà HTML Á´µ÷Óà Net.Data£º

<a href="http://server/cgi-bin/db2www/myMacro.d2w/report">
.
.
.
</a>
 

Àý 2£º ʹÓñíÀ´µ÷Óà Net.Data

<form method=post
 action="http://server/cgi-bin/db2www/myMacro.d2w/report">
.
.
.
</form>
 

ÒÔÏÂÕ½ÚÃèÊöÁË HTML Á´ºÍ±í£¬ÒÔ¼°ÓйØÈçºÎʹÓÃÁ´ºÍ±íÀ´µ÷Óà Net.Data µÄ¸ü¶àÐÅÏ¢£º

HTML Á´

Èç¹ûÒª´´×÷Ò»¸ö Web Ò³Ãæ£¬¿ÉÒÔ´´½¨Ò»¸ö HTML Á´£¬¶øÕâ¸öÁ´½«Ö´ÐÐÒ»¸ö HTML ¿é¡£µ±ä¯ÀÀÆ÷ǰ µÄÓû§µ¥»÷±»¶¨ÒåΪ HTML Á´µÄÎı¾»òͼÏóʱ£¬Net.Data ¾Í½«Ö´ÐкêÖÐµÄ HTML ¿é¡£

Òª´´½¨Ò»¸ö HTML Á´£¬¿ÉʹÓà HTML <a> ±ê¼Ç¡£È·¶¨Ï£ÍûÓÃ×÷Ö¸Ïò Net.Data ºêµÄ³¬Á´ µÄÎı¾»òͼÐΣ¬È»ºóÔÚÁ½¶Ë¼ÓÉÏ <a> ºÍ </a> ±ê¼Ç¡£ÔÚ <a> ±ê¼ÇµÄ HREF ÊôÐÔÖУ¬ Ö¸¶¨ºêºÍ HTML ¿é¡£

ÒÔÏÂʾÀýÏÔʾÁËÕâÑùÒ»¸öÁ´£ºµ±Óû§ÔÚ Web Ò³ÃæÉÏÑ¡ÔñÎı¾ "List all monitors" ʱ£¬ Õâ¸öÁ´½«Ê¹µÃÒ»¸ö SQL ²éѯ¿ªÊ¼Ö´ÐС£

<a href="http://server/cgi-bin/db2www/listA.d2w/report">
List all monitors</a>

µ¥»÷µ÷Óúê listA.d2w µÄÁ´½Ó£¬ËüÓÐÒ»¸öÃûΪ "report" µÄ HTML ¿é£¬ÈçÏÂÀýËùʾ£º

%DEFINE DATABASE="MNS97"
 
 
%FUNCTION(DTW_SQL) myQuery() {
SELECT MODNO, COST, DESCRIP FROM EQPTABLE
WHERE TYPE='MONITOR'
%}
 
%HTML (report){
  @myQuery()
%}

²éѯ½«·µ»ØÒ»¸ö°üº¬Ðͺš¢³É±¾ºÍ EQPTABLE ±í¸ñÖжÔÿ¸ö¼àÊÓÆ÷ËùÃèÊöÐÅÏ¢µÄ±í¸ñ¡£´ËÀýͨ¹ýÉú³ÉÒ»¸öȱʡ±¨¸æÏÔʾÁ˲éѯµÄ½á¹û¡£²Î¼û±¨¸æ¿éÒÔ»ñÈ¡ÓйØÈçºÎʹÓà REPORT ¿é¶¨ÖƱ¨¸æµÄÐÅÏ¢¡£

HTML ±í

Äú¿ÉÒÔʹÓà HTML ±íÀ´¶¯Ì¬µØ¶¨ÖÆ Net.Data ºêµÄÖ´ÐС£ÕâЩ±íÔÊÐíÓû§ÌṩÊäÈëÖµ£¬ ¶øÕâЩֵ½«Ó°ÏìºêµÄÖ´ÐÐºÍ Net.Data ¹¹½¨µÄ Web Ò³ÃæµÄÄÚÈÝ¡£

ÒÔÏÂʾÀý¹¹½¨ÔÚHTML Á´ÖмàÊÓÆ÷ÁбíµÄʾÀýÉÏ£¬ËüʹµÃä¯ÀÀÆ÷ǰµÄÓû§¿ÉÒÔ Ê¹ÓÃÒ»¸ö¼òµ¥µÄ HTML ±íÀ´Ñ¡ÔñÒªÇóÏÔʾÐÅÏ¢µÄ²úÆ·ÀàÐÍ¡£

<h1>Hardware Query Form</h1>
< hr>
<form method=post action="/cgi-bin/db2www/equiplst.d2w/report">
<p>What type of hardware do you want to see?</p>
<menu>
<li><input type="radio" name="hdware" value="mon" checked /> Monitors</li>
<li><input type="radio" name="hdware" value="pnt" /> Pointing devices</li>
<li><input type="radio" name="hdware" value="prt" /> Printers</li>
<li><input type="radio" name="hdware" value="scn" /> Scanners</li>
</menu>
 
<input type="submit" value="submit" />
</form>
 

µ±ä¯ÀÀÆ÷ǰµÄÓû§×÷³öÁËËûÃǵÄÑ¡Ôñ²¢µ¥»÷¡°Ìá½»¡±°´Å¥Ö®ºó£¬Web ·þÎñÆ÷½«´¦Àí µ÷Óà Net.Data µÄ FORM ±ê¼ÇµÄ ACTION ²ÎÊý¡£È»ºó£¬Net.Data ½«Ö´ÐÐ equiplst.d2w ºê ÖÐµÄ Report ¿é£º

%DEFINE DATABASE="MNS97"
 
 %FUNCTION(DTW_SQL) myQuery(){
SELECT MODNO, COST, DESCRIP FROM EQPTABLE
WHERE TYPE='$(hdware)'
%REPORT{
<h3>Here is the list you requested</h3>
%ROW{
< hr>
$(N1): $(V1), $(N2): $(V2)
<p>$(N3): $(V3)
%}
%}
%}
 
%HTML (report){
  @myQuery()
%}

ÔÚÉÏÊöʾÀýÖУ¬SQL Óï¾äÖÐ TYPE=$(hdware) µÄÖµÊÇ´Ó HTML ±íµÄÊäÈëÖÐ »ñµÃµÄ¡£ÓÐ¹Ø ROW ¿éÖÐËùʹÓõıäÁ¿µÄÏêϸ˵Ã÷£¬ ²Î¼û Net.Data ²Î¿¼¡£

FILE ÊäÈëÀàÐÍÊǾ­¹ý Net.Data µÄÌØÊâ´¦ÀíµÄÒ»ÖÖÊäÈëÀàÐÍ¡£½èÖú´ËÊäÈëÀàÐÍ£¬ Óû§¿ÉÒÔ½«ÎļþÉÏ´«ÖÁ·þÎñÆ÷£¬ÒÔ±ãÓÉ·þÎñÆ÷É쵀 Net.Data »òÈÎºÎÆäËûÓ¦ÓóÌÐò½øÐнøÒ»²½µÄ´¦Àí¡£

Net.Data ²»¶ÔÉÏ´«µÄÎļþÖ´ÐÐÈκÎת»»£¬¸ÃÎļþ±»ÊÓΪÊǶþ½øÖÆÊý¾Ý¡£ÉÏ´«µÄÎļþ´æ´¢ÔÚÓÉ DTW_UPLOAD_DIR Ö¸¶¨µÄĿ¼ÖУ¬²¢±»¸³ÓèΨһµÄÃû³Æ£¬´ËÃû³ÆÊÇʹÓÃÏÂÁйæÔòÈ·¶¨µÄ£º

Óï·¨£º

MacroFileName + '.' + FormVarName + '.' + UniqueIdentifier + '.' + FormFileName

MacroFileName
´¦ÀíÇëÇóµÄºêµÄÃû³Æ£¨±íµ¥Öе÷Óõĺ꣩¡£½öʹÓÃÎļþÃû£¬²»Ê¹ÓÃÕû¸ö·¾¶¡£

FormVarName
ÓÃÀ´ÔÚ±íµ¥Öбêʶ¸ÃÎļþµÄ±äÁ¿µÄÃû³Æ¡£

UniqueIdentifier
ÓÃÀ´È·±£Î¨Ò»ÐÔµÄ×Ö·û´®¡£´Ë×Ö·û´®µÄ¹¹Ôì·½Ê½Ëæ Net.Data ƽ̨µÄ²»Í¬¶øÓÐËù±ä»¯¡£ÀýÈ磬ÔÚ OS/400 ÉÏ£¬Ê¹ÓÃÒÔÏ·½·¨£º
YYYYMMDDHHMMSSCCC + '-' + PID + '-' + TID
 

ÆäÖУº

YYYY = Äê·Ý
MM   = Ô·Ý
DD   = Ìì
HH   = Сʱ (00-23)
SS   = Ãë
CCC  = ºÁÃë
PID  = ½ø³Ì ID
TID  = Ïß³Ì ID
 

ʾÀý£º

Ê×ÏÈ£¬ÔÚ Net.Data ³õʼ»¯ÎļþÖÐÉèÖà DTW_UPLOAD_DIR£º

DTW_UPLOAD_DIR /home/http/pub/upload

È»ºó¹¹ÔìÒ»¸öµ÷ÓÃÒ»¸öºêµÄ±íµ¥£¬²¢½«ÎļþÃûºÍÎļþ×÷Ϊ²ÎÊý´«ËÍ£º

<form method="post" enctype="multipart/form-data"
      action="/netdatadev/form.dtw/report">
  <input type="text" name="name"  value="john doe" />Enter name
  <input type="text" name="zipno" value="55901" />Enter number
  <input type="file" name="resume" value="myresume.txt" />Résumé
  <input type="submit" />
</form>

Èç¹ûÓû§ÒªÌá½»¸Ã±íµ¥£¬²¢½ÓÊÜȱʡֵ£¬ÔòÔÚ·þÎñÆ÷ÉÏÉú³ÉµÄÎļþ½«ÀàËÆÓÚ£º

/home/http/pub/upload/form.dtw.resume.20000313112341275-6245-021.myresume.txt


[ Ò³µÄ¶¥²¿ | ÉÏÒ»Ò³ | ÏÂÒ»Ò³ | Ŀ¼ | Ë÷Òý ]