VFP使用HTML模板文件(唐先生的第三课笔记)

2021-08-12 14:25:22 浏览数 (1)

唐先生的笔记写得非常好,所以转发到这里。

想要在在网页中显示

Today is the third day of study VFP BS!

前端模板文件内容如下,有点类似于ASP代码风格:

代码语言:javascript复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>VFP_freeBS3</title>
    </head>
    <body>
        <%=U("Today is the third day of study VFP BS!")%>
    </body>
</html>

如果直接打开这个模板文件,代码会原样输出,并未成功执行,网页上显示的内容为

<%=U("Today is the third day of study VFP BS!")%>

这并不是我们想显示的内容,因为此模板文件必须经过VFP后端处理才能正确显示。

后端代码为:

代码语言:javascript复制
DEFINE CLASS ctl_html as Session
    PROCEDURE html
        cHtml=GetWwwRootPath("template") "freebs3.html"
        _currentcode="UTF-8"
        RETURN FWS_MergeFile(cHtml)
    ENDPROC 
ENDDEFINE

此时再通过浏览器访问

http://192.168.3.159:801/ctl_html.fsp?proc=html

此时网页上就会显示:

Today is the third day of study VFP BS!

如下图

至此,我们已成功输出了静态文本内容,那么有没有办法像ASP一样,输出动态内容呢?当然是可以的。我们只需要对模板文件和VFP后端过程进行一下加工即可。 前端代码:

代码语言:javascript复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>VFP_freeBS3</title>
    </head>
    <body>
        <p><%=U("Today is the third day of study VFP BS!")%></p>
        <p><%=U(lcMess)%></p><!-- 此处使用变量,该变量应当与VFP后端保持一致,否则无法执行 -->

    </body>
</html>

后端代码:

代码语言:javascript复制
DEFINE CLASS ctl_html as Session
    PROCEDURE html
        PRIVATE lcMess
        lcMess="能够写到这一步了,很不错哟,继续努力吧!"
        lcMess=lcMess "<br>" DTOC(DATETIME())
        cHtml=GetWwwRootPath("template") "freebs3.html"
        _currentcode="UTF-8"
        RETURN FWS_MergeFile(cHtml)
    ENDPROC 
ENDDEFINE

通过浏览器访问的效果如下:

Today is the third day of study VFP BS! 能够写到这一步了,很不错哟,继续努力吧! 08/03/21

0 人点赞