脚本 JSP脚本就是用page指令language属性指定的脚本语言编写的代码块,需要用JSP完成的功能主要在此实现。目前用的基本是Java语言。 代码块里必须完全符合Java语法,但可以配合用HTML文本。其实不论是什么,都会被转换为Servlet,在Servlet中它们是一样的。 如:先输出5个空行,再输出"hello" 正确的:<% for(int i=0;i<5;i++)%> <br> <%;%> hello <br>错误的:(一行br;一行hello)=============== <% for(int i=0;i<5;i++)%> <br> hello 错误的等价于:<% for(int i=0;i<5;i++){%> <br> hello <%}%>
动作(<%jsp%>) jsp提供的动作指令有:include、forward、useBean、getProperty、setProperty
include 动作 jsp向当前页面加入另一文件的方法。 <jsp:include page="relativefileURL" flush="true"/>
forward动作 把当前页面重导到另一页面上,客户端看到的地址是A页面的地址, 而实际内容确是B页面的内容。 <jsp:forward page="relativefileURL| <%=expression%>}"/> 如: <body> here is aa. <jsp:forward page="aa.jsp" /> here is bb. </body> 注意:在使用forward之前,不能有任何内容已经输出到客户端,否则会发生例外。
useBean动作 此动作用来生成一个bean组件,并设定它的id号及使用范围 <jsp:useBean id="beanName" scope="page|request|session|application|" class="package.class" type="package.class" beanName="{package.class|<%=expression%>}" type="package.class">action for bean </jsp:useBean> id="beanName":定义生成bean组件的名字,不能重名且scope的值也最好一样,否则JSP引擎将认定最先被创建的那个。 scope="page|request|session|application":定义bean的活动范围,bean只有在它定义的范围里才能使用, 在它的活动范围外将无法访问到它。 JSP为它设定的范围有: page: bean的缺省使用范围
request:作用于任何相同请求的JSP文件中,直到页面执行完毕向客户端发回响应或在此这之前已通过某种方式(如重定向、链接等方式)转到另一个文件为止。还可通过使用Request对象访问bean,如:request.getAttribute(beanName)
session:作用于整个session的生存周期内,在session的生存周期内,对此bean属性的任何改动,都会影响到在此session内的另一page、另一request里对此bean的调用。但必须在创建此bean的文件里事先用page指令指定了session=true。
application:作用于整个application的生存周期内,在application周期内,对此bean属性的任何改动,都会影响到此application内另一page、另一request以及另一session里对此bean的调用。 class="package.class":用class属性指下的类示例一个bean,其中package名必须是类里用关键字package指定的。 type="package.class" class="package.class" type="package.class" beanName="{package.class|<%=expression%>}" type="package.class"
如:tt.jsp <jsp:useBean id="student" scope="page" class="mime.student" /> <%=student.getName()%><br> <% student.setName("wll"); %> //=====tt.jsp文件到此============
student.java //此处开始为student.java的内容 package mine; public class student{ long classno; String name; int age; Boolean sex; public student(){ classno=12345; name="aaaa"; age=21; sex=true; } public long getClassno(){ return classno; } public void setClassno(long no){ this.classno=no; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } public boolean getSex(){ return sex; } public void setSex(Boolean sex){ this.sex=sex; } }
出处:蓝色理想
责任编辑:帅青蛙
上一页 [JSP] 循序渐进教程 [2] 下一页 [JSP] 循序渐进教程 [4]
◎进入论坛网络编程版块参加讨论
|