Example: web.reg_save_param
The following examples are presented for web.reg_save_param.
Example 1: Saving simple text strings
In this example, web_reg_save_param saves a value from the response to a web_submit_form call. The value saved is used in a subsequent web_submit_form call. In the Web Tours program, the server response to the submit_form call below contains the following radio button options: <tr bgcolor=#66cccc><th>Flight<th>Departure time<th>Cost <tr bgcolor=#66CCff><td align=center><input type = radio name=outboundFlight value=230;378;11/20/2003 checked >Blue Sky Air 230<td align=center>8am<td align=center>$ 378 <tr bgcolor=#eeeeee><td align=center><input type = radio name=outboundFlight value=231;337;11/20/2003>Blue Sky Air 231<td align=center>1pm<td align=center>$ 337 and so on. To submit a reservation, the outboundFlight value is required. To reserve the default flight, save the "checked" value, and pass it to web_submit_form. The html segment for the default value is: name=outboundFlight value=230;378;11/20/2003 checked >
/*This web_reg_save_param call applies to the following action function: web_submit_form. */
web_reg_save_param("outFlightVal", "LB=outboundFlight value=", "RB= checked >", LAST); web_submit_form("reservations.pl", "Snapshot=t4.inf", ITEMDATA, "Name=depart", "Value=London", ENDITEM, "Name=departDate", "Value=11/20/2003", ENDITEM, "Name=arrive", "Value=New York", ENDITEM, "Name=returnDate", "Value=11/21/2003", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=roundtrip", "Value=<OFF>", ENDITEM, "Name=seatPref", "Value=None", ENDITEM, "Name=seatType", "Value=Coach", ENDITEM, "Name=findFlights.x", "Value=83", ENDITEM, "Name=findFlights.y", "Value=16", ENDITEM, LAST);
/* The result of the web_reg_save_param having been called before the web_submit_form is: Action.c(15): Notify: Saving Parameter "outFlightVal = 230;378;11/20/2003" */ // Now use the saved outFlightVal web_submit_form("reservations.pl_2", "Snapshot=t5.inf", ITEMDATA, "Name=outboundFlight", "Value={outFlightVal}", ENDITEM, "Name=reserveFlights.x", "Value=92", ENDITEM, "Name=reserveFlights.y", "Value=10", ENDITEM, LAST);
/* Action.c(34): Notify: Parameter Substitution: parameter "outFlightVal" = "230;378;11/20/2003" */
Java Language
web.reg_save_param (""outFlightVal", new String []{ "NOTFOUND=ERROR", "LB=outboundFlight value=", "RB=>" , "LAST"} );
Example 2: Saving a text by using binary boundaries
The following example uses BIN type boundaries. The left boundary is composed of 3F and DD. The right boundary is composed of CC and b.
web.reg_save_param("p", new String []{ "LB/BIN=\\x3F\\xDD", "RB/BIN=\\xCCb", "LAST"});
Example 3: Saving a text specified with an offset and length
The following example specifies an offset and length. The boundaries for the HTML string "Astra on TESTSERVER", are "Astra " (note the space which follows the word) and "TestServer". This should return "on" but since the offset is 1 (i.e., start at the second character) and the length of data to save is 1, then the string saved to TestParam is "n".
web.reg_save_param("Param1", new String []{ "LB=Astra ", "RB= TESTSERVER", "SaveOffset=1", "SaveLen=1", "LAST"});