您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第三讲 JSP动作元素
第3讲JSP的动作元素(基本语法)JSP元素可分成脚本元素、指令元素与动作元素三种类型。脚本元素规范JSP网面所使用的Java代码;指令元素则是针对JSP引擎设计,它控制JSP引擎如何处理代码;而动作元素主要用于连接所要使用的组件(如,JavaBean),另外还可以控制JSP引擎的动作。为了增加程序的可读性,在JSP页面中往往添加一定的注释。4.5动作元素JSP动作元素用来控制JSP容器的动作,可以动态插入文件、重用JavaBean组件、导向另一个页面等等。可用的标准动作元素有:jsp:useBeanjsp:setPropertyjsp:getProperytjsp:includejsp:forwardjsp:pluginjsp:param1jsp:include动作JSP动作允许在JSP页面中包含文件,基本语法如下所示:jsp:includepage=relativeURL|%=expression%flush=true/其中page属性指明了需要包含的文件路径,flush属性必须设为true(JSP默认值为false)。例如:jsp:includepage=”include/bar.html”flush=truejsp:includepage=”abc.jsp”flush=truejsp:include指令可以包含动态或静态文件例子:Ex4_8.jsp%@pagelanguage=javacontentType=text/html;charset=gb2312%htmlheadtitlejsp:include示例/title/headbodyh3align=center比较include和jsp:include/h3formaction=Ex4_10.jspmethod=post用户名:inputtype=textname=namebr密码:inputtype=passwordname=passwordbrinputtype=submitvalue=登录hr/body/html例子:Ex4_10.jsp%@pagelanguage=javacontentType=text/html;charset=gb2312%htmlheadtitlejsp:include示例/title/headbody%@includefile=Ex4_8.html%这是一个jsp:include的示例jsp:includepage=Ex4_9.jspflush=truejsp:paramname=examp1value=%=request.getParameter(name)%/jsp:paramname=examp2value=%=request.getParameter(password)%//jsp:include/body/html例子:Ex4_9.jsp%@pagelanguage=javacontentType=text/html;charset=gb2312%htmlheadtitlejsp:include示例/title/headbodybr参数examp1的值:%=request.getParameter(examp1)%br参数examp2的值:%=request.getParameter(examp2)%br%out.println(从文件Ex4_9.jsp得到的结果);%/body/html1jsp:include动作jsp:include动作与%@include%指令不同的是:前者包含的内容可以动态改变,而后者包含的内容是固定不变的示例Ex4_8、Ex4_9、Ex4_10比较差异。2jsp:forward动作该动作元素允许你将用户请求定位至其他页面、Servlet或者静态资源文件,其基本语法如下所示:jsp:forwardpage=”relativeURL”该动作元素把当前页面A重新导向到另一页面B上,客户端看到的地址是A页面的地址,而实际内容显示的是B页面的内容。它只包含一个属性即page,其值为相对的URL地址。该地址可以是静态的字符串,也可以是计算类型,如下面两例所示:jsp:forwardpage=/utils/errorReporter.jsp/jsp:forwardpage=%=someJavaExpression%/例子:Ex4_12.jsp%@pagelanguage=javacontentType=text/html;charset=gb2312%htmlheadtitlejsp:forward示例/titlebody%--登录检查--%%Stringname=request.getParameter(name);Stringpassword=request.getParameter(password);//判断用户名和密码是否正确if(name.equals(david)&&password.equals(123)){%!—jsp:forward指令完成转发动作--jsp:forwardpage=Ex4_13.jspjsp:paramname=uservalue=%=name%//jsp:forward%}else{%jsp:forwardpage=Ex4_11.jspjsp:paramname=uservalue=%=name%//jsp:forward%}%/body/html例子:Ex4_11.jsp%@pagelanguage=javacontentType=text/html;charset=gb2312%htmlheadtitlejsp:forward示例/title/headbodyformaction=Ex4_12.jspmethod=post用户名:inputtype=textname=namep密码:inputtype=passwordname=passwordinputtype=submitvalue=登录br/body/html例子:Ex4_13.jsp%@pagecontentType=text/html;charset=gb2312%htmlheadtitlejsp:forward示例/title/headbody%=request.getParameter(name)%密码正确,登录成功!/body/html3jsp:useBean动作该动作元素用来在JSP页面创建一个JavaBean实例,有利于代码重用和提高程序结构清晰性,其基本语法如下所示:jsp:useBeanid=“id”scope=“page|request|session|applicationtypeSpecid是大小写相关的名字,用来表示指向实例对象的变量;Scope表示Bean的作用域。默认为page,有效值包括:page/request/session/applicationtypeSpec可以为以下四者之一:Class=“className”Class=“className”type=“typeName”beanName=“beanName”type=“typeName”Type=“typeName”4jsp:setProperty动作该动作元素用来设定JavaBean的属性值,必须和useBean协作,其基本语法如下所示:jsp:setPropertyname=“beanInstanceName”propertyDetails/Name为必选属性,指JavaBean实例的名字,使用前通过jsp:useBean引入;propertyDetails可以通过三种方式指定:Property=“*”Property=“PropertyName“[parameterName”]Property=“PropertyName“value=“valueName“5jsp:getProperty动作该动作元素用来访问一个JavaBean的属性值,使用前必须通过jsp:useBean引入一个对象,其基本语法如下所示:jsp:getPropertyname=“beanInstanceName”propertyName/beanInstanceName对应jsp:useBean中的id,name要和jsp:useBean中的id相同propertyName是要获得的属性值例子:Ex4_14.htmlhtmlheadtitle标签综合示例/title/headbodyformmethod=getaction=Ex4_15.jsptabletrtd学号:inputname=stuIdtype=text/td/trtrtd姓名:inputname=stuNametype=text/td/trtrtd密码:inputname=passwordtype=password/td/trtrtdinputtype=submitvalue=注册/td/tr/table/from/body/html例子:Ex4_15.jsp%@pagecontentType=text/html;charset=gb2312%jsp:useBeanid=studentscope=pageclass=bean.StudentBean/jsp:setPropertyname=studentproperty=*/htmlheadtitle标签综合示例/title/headbody学生信息注册成功:brhr使用Bean属性方法:br学号:    %=student.getStuId()%br姓名:  %=student.getStuName()%br密码:%=student.getPassword()%brhr使用getProperty:br学号:jsp:getPropertyname=studentproperty=stuId/br姓名:jsp:getPropertyname=studentproperty=stuName/br密码:jsp:getPropertyname=studentproperty=password/br/body/html例子:StudentBean.javapackagebean;publicclassStudentBean{publicStringstuId;publicStringstuName;publicStringpassword;publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringge
本文标题:第三讲 JSP动作元素
链接地址:https://www.777doc.com/doc-5139525 .html