JSP/servlet的对应

JSP表达式基本上成为由JSP页面生成的servlet中的print(或write)语句。常规的HTML转换成print语句,同时用双引号将文本引起来,而JSP表达式转换成没有双引号的print语句。这些print语句没有放在doGet方法中,而是放在了一个新的方法_jspService中,无论是GET和POST请求,service方法都会调用_jspService方法。

例如以下给出了一个小型的JSP示例,其中包括一些静态HTML和一个JSP表达式。另一个给出可能生成的_jspService方法。同样将out变量的定义做了极大的简化。JSP页面中的out是一个JspWriter,因此,我们必须对调用getWriter取得的PrintWriter进行适当的修改。

JSP表达式示例

<H1>A Random Number</H1>

<%= Math.random() %>

所产生的具有代表性的servlet代码

public void _jspService(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
HttpSession session = request.getSession(true);
JspWriter out = response.getWriter();
out.println("<H1>A Random Number</H1>");
out.println(Math.random());
...

}

基本语法

HTML文本
– <H1>Blah</H1>
– 不加更改地传递给客户。实际上是由类似于下面的
servlet代码生成:
• out.print("<H1>Blah</H1>");
• HTML注释
– <!– 注释内容-->
– 和其他HTMl一样:直接传递给客户
• JSP注释
– <%-- 注释内容--%>
– 并不发送给客户
• 要输出<%,使用<\%


脚本元素的类型
• 表达式
– 格式:<%= expression %>
– 求值并插入到servlet的输出中。
也就是会产生类似于out.print(expression)的语句
• scriptlet
– 格式:<% code %>
– 逐字地插入到servlet的_jspService方法中(由service调用)
• 声明
– 格式:<%! code %>
– 逐字地插入到servlet类的定义体中,不在任何方法之内


JSP表达式
• 格式
– <%= Java Expression %>
• 结果
– 表达式被求值,转换成字符串,将按照它在JSP页面中出现的位置插入到HTML页面中。
– 即,表达式在out.print内放置在That is, expression placed in _jspService inside out.print
• 示例
– 当前时间:<%= new java.util.Date() %>
– 您的主机名:<%= request.getRemoteHost() %>
• XML兼容的语法
– <jsp:expression>Java Expression</jsp:expression>
– 在单个页面中不能混合使用不同的版本。如果使用jsp:expression就必须整个页面都使用XML。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值