|
JSP页面中的元素 一,解释:三种注释,<!-- -->会打印到客户端,剩下的两种被JSP引擎忽略。 二,模板元素:指JSP中的静态HTLM或者XML内容,它影响页面的结构和美观程度,但那是美工的事,与程序员无关。 三,脚本元素:包括声明(Declaration),表达式(Expression)和Scriptlets,除去一些微小的差异外,Scriptlets完全可以取代前两种的功能。 四,指令元素: JSP指令是JSP向JSP包容器发送的消息。他们用来设置全局值,如类声明,要实现的方法,输出内容类型等,并不向客户口产生任何输出。它只影响本JSP文件。 1, page指令:用来定义和操作许多重要的页面的属性,这些属性与JSP包容器进行通信。在JSP的任何地方,以任何顺序,一个页面可以包含任意数量的page指令。但除了import指令外,其它的指令只能出现一次。几个重要的page指令: <% @ page import =”java.io.*,java.util.*”%>//导入包 <% @ buffer=” ”%>//定义对客户输出流的缓冲模型。 <% @ info=” ”%>//可以使用servlet.getServletInfo()得到该字符串 <% @ isErrorPage=” ”%> <% @ errorPage=” ”%> <% @ isThreadSafe=” ” %>//JSP文件是否能多线程使用 2, include指令:ASP中用的很多了吧,后面再介绍。 3, taglib指令:详见作者以前文章《Struts中的自定义标记》。 五,动作元素 JSP动作元素是使用XML语法写成的,它是在请求处理阶段起作用的,它影响JSP运行时的行为和发送给客户的应答。它们应当由所有的包容器提供,而不管它们的实现如何。 从效果上来说,一个标准动作是能够嵌入到JSP页面之中的一个标记。在页面被编译为servlet期间,当包容器遇到这个标记时,就用相应于请求的预定义的任务的JAVA代码来代替它。 1,<jsp:param>:为其他标签提供附加信息。 <jsp:param name=”paramName” value=”paramValue”/> 它与<jsp:include>,<jsp:forward>,<jsp:plugin>一起使用。 2,<jsp:include> 如果包含是静态文件,那么仅仅是把内容加到JSP文件中去,这个文件不会被JSP编译器执行,如果是动态文件,将会被JSP编译器材执行。 理论上<% @ page include=””%>与<jsp:include>有所不同,我把它叫做自动刷新,但实际上使用较高版本的tomcat时,他们的功能是一样的。 下面是这一标记的示例代码: <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <body> <%@ include file="static.html" %> <%//只是把文件包含进来%> <a href="two.jsp">goto two--></a><br> this examples show include works <jsp:include page="two.jsp" flush="true"> <jsp:param name="a1" value="<%=request.getParameter("name")%>" /> <jsp:param name="a2" value="<%=request.getParameter("password")%>" /> </jsp:include> </body> </html> ßthis is static.html> <html> <body> <form method=post action="jsp_include.jsp"> <table> <tr> <td>please input your name:</td></tr> <tr><td> <input type=text name=name> </td></tr> <tr><td>input you password:</td> <td> <input type=text name=password> </td> </tr> <tr> <td> <input type=submit value=login> </td> </tr> </table> </body> </html> ßthis is a two.jsp--> <%@ page contentType="text/html; charset=gb2312" language="java" %> 举例说明include的工作原理: <br> this is a1=<%=request.getParameter("a1")%> <br> this is a2=<%=request.getParameter("a2")%> <br> <% out.println("hello from two.jsp");%> 3,<jsp:forward> 是允许将请求转发到另一个JSP,Servlet,或者静态资源文件。当要根据不同的请求,转换到不同的视图时,这个动作特别有用。但请求被转向到的资源必须位于同JSP发送请求相同的上下文环境中。 <jsp:forward page="url"> <jsp:param name="paramName" value="paramValue"/> </jsp:forward> 4,<jsp:useBean> 它用来实例化JavaBean,或者定位一个已经存在的Bean实例,并且把它赋给一个变量名(或者id)。并给定一个具体的范围来确定对象的生命周期。 <jsp:useBean id=”myclassname” scope=”page” class=”Class1” type=”Class2”/ > 等价于:Class2 myclassname=new Class1(); page:表示对象与到该页面的特定的请求相关联。 Request:表示对象与到该页面的特定的客户请求相联系。如果请求被使用<jsp:forward>标准动作发送到别的jsp,或者使用<jsp:include>动作包含了另外的JSP,则在所涉及的JSP中,该对象是有效的。 Session:在当前会话中,在由同一个客户发送的任何的请求中,该对象都是有效的。 Application:在同一个web应用程序中,在任何的JSP页面中,该对象都是有效的。 5,<jsp:setProperty> 与<jsp:getProperty> 与useBean一起协作,用来设置Bean的简单属性和索引属性,因为它的使用太频繁了,那我就少说点吧,大家在具体代码中学习。 <jsp:serproperty name=”beanname” BopertyDetails /> A, property=*; B,property=”propertyName” param=”parameterName” 在Bean中的属性名与Request中参数名不同时使用这个方法。 C,property=”propertyName” Bean中的属性与Request中的参数名必须相同。 D,property=”propertyName” value=”propertyValue”
|
JSP语法介绍
最新推荐文章于 2025-03-26 17:37:58 发布
1852

被折叠的 条评论
为什么被折叠?



