记得刚开始接触web开发的时候,确实觉得很头大,因为一个jsp文件涉及到的语言都好几种,有CSS、html、javascript、java,听着就蛮吓人。但随着对web开发的了解,其实也没那么复杂,上面列出来的四种语言,在我心目中是从易到难进行排序的,假如有学过高级语言编程的基础,那么你就应该有信心把web开发拿下。下面是我对jsp页面中几种语言杂糅在一起的理解:
示例代码片段(在html页面的结尾嵌入了一段js和java杂糅的代码)
<body>
...........................
...........html片段
...........................
<%
String DbResult= request.getParameter("DbResult");if(DbResult!=null)
{
if(DbResult.equals("success"))
{
%>
<script type="text/javascript">
window.alert("留言提交成功");
</script>
<%
}
else if(DbResult.equals("fail"))
{
%>
<script type="text/javascript">
window.alert("数据提交出现错误");
</script>
<%
}
}
%>
</body>
这段代码从功能上来说,其实蛮简单:首先定义一个变量来获得参数DbResult的值,然后判断是否为空,如果不为空则进一步对所获得的数据进行分析:等于“success”则弹出“留言提交成功”的提示窗体;等于“fail”则弹出“数据提交出现错误”的提示窗体。
这段代码之所以放这里,主要是因为它杂糅了java和js。给我的提示有三点:
(1)<% %>以及<script type="text/javascript"></script>只是一种标记,是成对出现的,是让编译器或者解释器把它们从html标签中识别出来的一种符号。对于初学者可能会看着很别扭,但慢慢的你习惯于把<% 代码%>中间的代码当做纯java语句处理,<script type="text/javascript">代码</script>中间的代码当做js语句来处理就好了,因为机器也是那么看的。
(2)<%代码%>由java编译器在服务器端处理好,而<script type="text/javascript">代码</script>中间的代码由客户端浏览器解释执行,不管由谁执行或者解释,他们也是按照顺序,从上到下一条一条的执行的。当时我把这段代码放在页面最前方,然而当点击“提交”后,页面上层会弹出相应对话框,但页面却是一片空白,当我关闭弹出窗口以后,页面才生成显示,这显然不是我要的效果;于是我就直接把这段代码放在最后端,就是在弹出提示窗体之前,页面就已经生成好了。
(3)这段代码实现了从servlet获取参数,然后根据参数的不同值,弹出不同提示窗口;实现了后台与前台的互动,这个典型模式有很多值得借鉴的地方。而平时接触最多的是js与前台页面的互动,比如验证用户名或者密码输入为空的时候。