ASP中这一句对应JSP的语句是什么。。。。(50分)

  • 主题发起人 主题发起人 kevinfu
  • 开始时间 开始时间
K

kevinfu

Unregistered / Unconfirmed
GUEST, unregistred user!
(1)ASP:response.write("m1="+Server.URLEncode(m1))
JSP: ??????
(2)(附带)
还有,就是,如何过URL: http://127.0.0.1:8080/test.jsp?Start=25
使 FLASH文件可以根据变量Start,执行相应的动作。
 
问题(1)在JSP中是不是没有对应语句?????
急呀急。
 
(1)Server.URLEncode(m1) <=> response.encodeRedirectURL(m1);
(2)response.sendRedirect(response.encodeRedirectURL("http://127.0.0.1:8080/test.jsp?Start=25"));
 
谢谢YYSUN老师。你提供的答案是可以,不过我的问题不没有解决。我把问题贴上来吧,请
大家知道的,指点一二。
是这样的,我做了一个网站FLASH面。其中前面有20多秒是动画,后面才是主页面。当我从主页面
进入到次页面后,按BACK HOME,返回主页面。(次页面为一般HTML文件)主页面刷新FLASH重新播放。
问题就出来了。因为我的主FLASH有20多秒的播放时间,如果每次返加主页面都重放.就会让人感到烦腻,
浪费浏览者的时间。所以我想在次页面的BACK HOME中的URL加上参数。
如:/index.jsp?Start=SHOW 让它直接跳到最终页面。
/index.jsp?Start=ALL或/index.jsp 让它从开始播放。
我在FLASH 文件中设有两个LABEL,在第一帧有LOAD /UNLOAD MOVIE事件脚本。想让它从URL中取得参数,
然后根据参数跳到指到帧中。网上有一篇从ASP取得变量的但只是从单独的ASP文件中取数,而不是从当前
URL中取参数。
现在的问题是,到底我这种设想行不行得通,若行得通在JSP中又如何实现。因为我把ASP中的
response.write("m1="+Server.URLEncode(m1))
换成JSP的(由孙老师指点)
response.sendRedirect("m1=" + response.encodeRedirectURL(m1));
但是没有成功。
不知道各位有没有方法解决这一问题??????
(我看过一些FLASH 网站,它们这一问题没有解决,不知是呼列了,还是因为其它?)
希望,各位大侠能鼎力相助,不惜提供例子,原代码。
==================下面是在网上找到的FLASH与外部交换的文章============================
(三)、 从ASP文件中读取变量:
关于ASP文件,这里不准备作详细介绍,只讲涉及FLASH读取部份的内容。先介绍一个ASP的内置对象:response 。这个对象
用来从服务器向客户机传送信息。其中 Response.Write 是输出信息的方法。对象是另一个是Server。Server.URLEncode 方法则把
ASP中的字符串作为URL格式编码为目标字符串,这正是FLASH所能接受的格式。好了,下面具体讲述:

1、编写ASP 文件。(具体内容视功能而定)
2、在ASP文件设置中向客户机输出的语句。如:
<% m0="OK"
response.write("m1="+Server.URLEncode(m0)) %>
("m1="+Server.URLEncode(m0))是保证输出的变量格式为: 变量名=变量值。这一点最为重要,否则接受会不成功。
多个变量输出到SWF文件则用&amp;联接如:
response.write("m1="+Server.URLEncode(m1))
response.write("&amp;m2="+Server.URLEncode(m4))

3、SWF文件中设文本字段,这和上面(一)(二)所讲的方法和要点相同。本例SWF文件中文本字段名为m1。
4、在关健帧上设ActionsLoad:

双击关健帧,弹出Actions设置框,
单击"+"号和Load/Unload Movie.
选择"Load Variables Into Location" 在URL输入框内输入你的ASP所在的URL和文件名(例如:http://***.***.****.***/js.asp). 选择Target.
最后,选择Variables中的Send using GET.

全部Actions如下:
Load Variables ("http://***.***.****.***/js.asp", "", vars=GET)
由于ASP文件是在服务器端运行的,所以文件名前要加上服务器的地址,这一点也要注意。
5、保证与服务器是联接的并运行SWF的HTML文件,可见变量m1的值“OK”显示在SWF文件中。
 
response.write("m1="+Server.URLEncode(m1))
应该转换成:
out.print("m1=" + response.encodeRedirectURL(m1));
而不是:
response.sendRedirect("m1=" + response.encodeRedirectURL(m1));
另,您是需要index.jsp根据URL中的参数 跳转到某个页面,还是让其中的动画跳到某个帧?
 
Thank yysun, 我是要跳到某一帧上。 现在我找到别外一种方法,也是通过JSP的,比较简
单,可还有点问题。我贴上来,请太家帮着看一看。
思路;
《1》 FLASH 中有一种是从HTML中取得参数的方法。
在FLASH的SWF文件中设一文本字段,其字段的名(变量名)设置成与HTML文件传送的
变量名相一致。在HTML调用SWF文件的那条语句:
<param name=movie value="SWF文件名.SWF">
改为:<param name=movie value="SWF文件名.SWF?变量名=变量值"> 此时,SWF文件中就能接受到变量
如果有多个参数可写成 <param name=movie value="SWF文件名.SWF?变量名1=变量值1&amp;变量名2=变量值2">
在SWF文件的第一帧设定ACTION SCRIPT, 判别参数为什么,则相映跳到指定的帧去。
《2》在JSP文件中,根URL参数。PRINT 想应的语句。
JSP文件内容如下。
&amp;lthtml&amp;gt
&amp;lthead&amp;gt
&amp;lttitle&amp;gtAce Mold Company Limited&amp;lt/title&amp;gt
&amp;ltmeta http-equiv="目录类型" content="文本/html;
字符集=gb2312"&amp;gt
&amp;ltscript language="JavaScript"&amp;gt
window.open("popuphtml/001103.htm", "direct", "toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=360,height=289")
&amp;lt/script&amp;gt
&amp;lt/head&amp;gt
&amp;ltbody bgcolor="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"&amp;gt
&amp;lt%@page language="java" %&amp;gt
&amp;lt%! String Start="";%&amp;gt
&amp;lt% Start = request.getParameter("Start");%&amp;gt
&amp;lt%=Start%&amp;gt
&amp;ltdiv align="center"&amp;gt
&amp;lttable width="100%" border="0" cellspacing="0" cellpadding="0" height="100%"&amp;gt
&amp;lttr bgcolor="#000000"&amp;gt
&amp;lttd&amp;gt
&amp;ltdiv align="center"&amp;gt&amp;ltobject classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="775" height="458" name="AMMOVE"&amp;gt
&amp;lt%
if (Start == "show"){
out.print("&amp;ltparam name=movie value='test-acemold.swf?Start=show'&amp;gt");
}
else
{
out.print("&amp;ltparam name=movie value='" + "test-acemold.swf?Start=all'&amp;gt");
}
%&amp;gt
&amp;ltparam name=quality value=high&amp;gt
&amp;ltembed src="/resource/m_acemold.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="775" height="458" name="AMMOVE"&amp;gt
&amp;lt/embed&amp;gt
&amp;lt/object&amp;gt&amp;lt/div&amp;gt
&amp;lt/td&amp;gt
&amp;lt/tr&amp;gt
&amp;lt/table&amp;gt
&amp;lt/div&amp;gt
&amp;lt/body&amp;gt
&amp;lt/html&amp;gt
但它老是输入这一句
out.print("&amp;ltparam name=movie value='" + "test-acemold.swf?Start=all'&amp;gt");
是不是我的这个判断有问题?
if (Start == "show"){
out.print("&amp;ltparam name=movie value='test-acemold.swf?Start=show'&amp;gt");
}
else
{
out.print("&amp;ltparam name=movie value='" + "test-acemold.swf?Start=all'&amp;gt");
}

????
 
呵呵,问题解决了,要用
if (Start.compareTo("show")==0)
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部