分享

JSP渐进学习教程3

 soone 2006-03-22
脚本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="pagerequestsessionapplication" class="package.class" type="package.class" beanName="{package.class<%=expression%>}" type="package.class">action for bean </jsp:useBean>

id="beanName":定义生成bean组件的名字,不能重名且scope的值也最好一样,否则JSP引擎将认定最先被创建的那个。

scope="pagerequestsessionapplication":定义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;

}

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多