您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 服务器端脚本编程 > JSP专辑 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

Java Servlet和JSP教程之十二
2001-12-31· ·仙人掌工作室··yesky

上一页  1 2 3 4  下一页


  12.1.2 JSP Scriptlet

  如果你要完成的任务比插入简单的表达式更加复杂,可以使用JSP Scriptlet。JSP Scriptlet允许你把任意的Java代码插入Servlet。JSP Scriptlet语法如下:

<% Java Code %>

  和JSP表达式一样,Scriptlet也可以访问所有预定义的变量。例如,如果你要向结果页面输出内容,可以使用out变量:

<%
String queryData = request.getQueryString();
out.println("Attached GET data: " + queryData);
%>

  注意Scriptlet中的代码将被照搬到Servlet内,而Scriptlet前面和后面的静态HTML(模板文本)将被转换成println语句。这就意味着,Scriptlet内的Java语句并非一定要是完整的,没有关闭的块将影响Scriptlet外的静态HTML。例如,下面的JSP片断混合了模板文本和Scriptlet:

<% if (Math.random() < 0.5) { %>
Have a <B>nice</B> day!
<% } else { %>
Have a <B>lousy</B> day!
<% } %>

  上述JSP代码将被转换成如下Servlet代码:

if (Math.random() < 0.5) {
out.println("Have a <B>nice</B> day!");
} else {
out.println("Have a <B>lousy</B> day!");
}

  如果要在Scriptlet内部使用字符“%>”,必须写成“%\>”。另外,请注意<% code %>的XML等价表达是:

<jsp:scriptlet>
Code
</jsp:scriptlet>

  12.1.3 JSP声明

  JSP声明用来定义插入Servlet类的方法和成员变量,其语法如下:

<%! Java Code %>

  由于声明不会有任何输出,因此它们往往和JSP表达式或Scriptlet结合在一起使用。例如,下面的JSP代码片断输出自从服务器启动(或Servlet类被改动并重新装载以来)当前页面被请求的次数:

<%! private int accessCount = 0; %>

  自从服务器启动以来页面访问次数为:

<%= ++accessCount %>

  和Scriptlet一样,如果要使用字符串“%>”,必须使用“%\>”代替。最后,<%! code %>的XML等价表达方式为:

<jsp:declaration>
Code
</jsp:declaration>

上一页  1 2 3 4  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 Java Servlet和JSP教程
 Java Servlet和JSP教程之十三
 Java Servlet和JSP教程
 Java Servlet和JSP教程之十一
 Java Servlet和JSP教程之十
 Java Servlet和JSP教程之九
 Java Servlet和JSP教程之八
 Java Servlet和JSP教程之七
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!