企业Java笔记-----jsp-----三个编译指令,7个动作指令

前言

  • JSP中3个编译指令
  • JSP中7个动作指令
  • JSP中9个内置对象

JSP的三个编译指令

  • JSP的编译指令是通知JSP引擎的消息,它不是直接生成输出。
    编译指令都有默认值,因此开发人员无须为每个指令设置值。
  • page:该指令定义当前页面的属性
  • include:用于指定包含另一个页面
  • taglib:用于定义和访问自定义标签

在这里插入图片描述

page指令

  • page 指令用于设置JSP页面的属性
    在这里插入图片描述
<%@ page
  [ language="java" ]
    [ contentType=“mimeType [ ;charset=characterSet ][ pageEncoding=“characterSet" ]
  [ import="{package.class | package.*}, ..." ]
  [ errorPage="relativeURL" ]
  [ isErrorPage="true | false" ]
  [ extends="package.class" ]
  [ session="true | false" ]
  [ buffer="none | 8kb | sizekb" ]
  [ autoFlush="true | false" ]
  [ isThreadSafe="true | false" ]
  [ info="text" ]
%> 

例子

<%@ page language = "java" import ="java.util.*" buffer = "8kb" 
pageEncoding= "UTF-8" isErrorPage="false" %>

<html>
    <head>
        <title> 测试 page 指令</title>
    </head>
    <body>
        <h1> 这是一个测试页面</h1>
    </body>
</html>

include指令

  • include 指令用于在运行时将 HTML文件或 JSP页面嵌入到另一个 JSP页面

  • include 指令语法
    <%@ include file = “文件名” %>

  • 使用include指令,可以将一个外部文件嵌入到当前jsp文件中,同时解析这个页面的jsp语句。

  • include既可以包含静态文件,也可以包含jsp页面。会将包含的页面加入页面,融合成一个页面。因此,被包含的页面不需要是一个完整的页面。

例子

<html>
    <head> include 指令测试页面
    </head>
    <body>
      这个是Head文件。将要被包含在test.jsp页面中。
    </body>
</html>
<html>
    <head> include 指令测试页面
    </head>
    <body>
        <%@ include file = "head.jsp" %>
    </body>
</html>

使用include指令进行JSP编程

<%@page language="java"%>
<%@include file=“test.jsp"%>
<html>
<head>
<title></title>
</head>
<body>
<br>
<h4 align=“center”>你好,欢迎来到东华大学计算机学院!</h4>
</body>
</html>

taglib指令

  • taglib 指令的作用是在JSP页面中,将标签库描述符文件引入到该页面中,并设置前缀。从而,利用标签前缀去使用标签库表述文件中的标签。

  • taglib指令语法格式如下:
    <%@ taglib uri=“tagLibraryURI” prefix=“tagPrefix” %>其中,uri=“tagLibraryURI”指明标签库文件存放位置。prefix="tagPrefix"则表示该标签使用时的前缀。

  • 例如,在Struts 2中用到标签:
    <%@ taglib uri=“/struts-tags” prefix=“s”%>

JSP中7个动作指令

  • 动作指令是运行时的脚本动作,通常可替换为JSP脚本;
  • JSP的7个动作指令:
  • jsp:forward
  • jsp:include
  • jsp:param
  • jsp:useBean
  • jsp:setProperty
  • jsp:getProperty
  • jsp:plugin

jsp:param

  • jsp:param 用于传递参数,必须与其他支持参数的标签一起使用
<jsp:param>的语法规则如下:
<jsp:param name="paramName" value="paramValue"/>

例如:
<jsp:param name= "username" value ="liu"/>
<jsp:param>通常与<jsp:include><jsp:forward><jsp:plugin>等一起使用。在独立于其他操作使用时,<jsp:param>动作没有作用。

jsp:include

  • jsp:include用于动态引入一个jsp页面
  • 也可以在标签内向引用页面传递param
<jsp:include>的语法规则如下: 
<jsp:include page=" { relativeurl  | <%= expression %> } " flush="true" />
或者为:
<jsp:include page=" { relativeurl  | <%= expression %> } " flush="true" >
	<jsp:param name="paramName" value="{ paramValue | <%= expression %>}" />
</jsp:include>

<jsp:include>向一个对象提出请求,并将结果包含在一个JSP文件中。将静态的HTML、服务器程序的输出结果及来自其他JSP的输出结果包括到当前页面中。
  • 创建一个HTML页面,welcome.html
  • 该页面将被嵌入到下一个页面中
<html>
    <head>
        <title>欢迎您来	到汽车专柜</title>
    </head>
    <body>
        <h1 align="center">欢迎您来到汽车专柜</h1>
    </body>
</html>
  • 创建一个JSP页面
  • 使用include动作嵌入HTML页面(welcome.html)
<html>
    <head>
        <title>使用 include 动作</title>
    </head>
    <body>
        <jsp:include page="welcome.html" 
        flush="true"/>
        此文本将在显示完    
        <b>welcome.html</b>的内容后显示   
        </body>
        </html>

jsp:useBean

  • jsp:useBean创建一个JavaBean实例

  • <jsp:useBean id=“name” class=“classname” scope=“page | request | session | application” />

  • id:设置JavaBean的名称,利用此id,可以识别在同一个JSP程序中使用不同的JavaBean组件实例。

  • class:指定JavaBean对应的Java类名,查找该JavaBean路径。

  • scope属性值:

  • page:仅在本页面有效

  • request:仅本次请求有效session:在本次session有效application:在本应用内一直有效

举例:useBean动作元素的应用。

  • 创建Web项目,命名为“ExampleJsp”,在根文件夹下创建JSP文件,命名为bean.jsp,其代码如下:
<%@ page contentType="text/html;charset=GB2312" %>
<html>
<head>
<title>useBean动作元素的应用</title>
</head>
<body>
<jsp:useBean id="test" class="test.TestBean" scope="page" />
<%
	test.setStrValue (“东华大学企业Java课程");
	String str=test.getStrValue();
	out.print(str);
%>
</body>
</html>
    • 举例:useBean动作元素的应用
  • 在项目src文件夹下创建包test,在包test下创建TestBean.java,其代码如下:

package test;
public class TestBean {
	private String strValue=null;
	public TestBean() { 
	} 
	public void setStrValue(String value) { 
		str=value;
	}
	public String getStrValue () {
		return str;
	}
}
  • 部署运行项目,输入“http://localhost:8080/ ExampleJsp /bean.jsp”,页面就会输出“东华大学企业Java课程”。

jsp:setProperty

  • jsp:setProperty设置JavaBean实例的属性值

  • jsp:setProperty的语法规则如下:
    <jsp:setProperty name= "BeanName”
    property= “propertyName” value= “propertyValue” />

<head>
<jsp:useBean id=“test" class=“Test.TestBean" scope="session"/>
<jsp:setProperty  name=“test” property=“strValue” value=“企业java技术课程"/>
</head>

jsp:getProperty

  • jsp:getProperty取得JavaBean实例的属性值

  • jsp:getProperty的语法规则如下:
    <jsp:getProperty name= “BeanName” property= “PropertyName” />
    其中,name是JavaBean实例的名称,property是要属性的名称。

  • 举例:jsp:getProperty:

<jsp:useBean id="test" class="test.TestBean“ scope="page"  />
<h1>Get of string :<jsp:getProperty name= "test" property= “strValue" /></h1>
...
<head>
    <jsp:useBean id=“test" class=“test.TestBean"     
    scope="page"/>
    <jsp:setProperty  name=“test"  
    property=“strValue” value=“示例"/>
</head>
<body>
    <jsp:getProperty name=“test"  
    property=“strValue"/>
</body>
...

JavaBean综合举例

  • 在JavaBean中使用get()和set()方法
public class simpleBean{
    private String name = null;
    private int age = 0;
    public simpleBean()    {    }
    public String getName()    {
        return name;
    }
 public int getAge()    {
        return age;
    }
    public void setName(String username) {
       name = username;
    }
 public void setAge(int userAge) {
       age= userAge;
    }
}
<html>	
    <head>
        <title> 在 JSP 中使用 JavaBean </title>
        <jsp:useBean id="BeanId"  
        class=“org.dhu.javabean.simpleBean" scope="application"/>
        <jsp:setProperty  name="BeanId" property="name"
        value="Andrew"/>
        <jsp:setProperty name="BeanId" property="age"  
        value="25"/>
    </head>
    <body>
        姓名:<jsp:getProperty name="BeanId" 
        property="name"/> <br/>
        年龄:<jsp:getProperty name="BeanId"   
        property="age"/>
    </body>
</html>

jsp:forward

  • jsp:forward执行页面转向,将请求的处理交给下一个页面

  • jsp:forward的语法规则如下:

  • <jsp:forward page=" { relativeurl | <%= expression %> } " />
    或者为:

  • <jsp:forward page=" { relativeurl | <%= expression %> } " >

  • <jsp:param name=“paramName” value=“{ paramValue | <%= expression %>}” />

  • </jsp:forward>

  • jsp:forward标记只有一个属性page。page属性指定要转发资源的相对URL。page的值既可以直接给出,也可以在请求时动态计算

  • 创建一个JSP页面

  • 使用forward动作转发用户的请求

<html>
    <head>
        <title> 转发此页面 </title> 
    </head>
    <body>
        <jsp:forward   
        page="requestedpage.jsp"/>
    </body>
</html>
  • 创建一个JSP页面
  • 用户将被转至此页面
<html>	
    <head>
        <title>将请求转发到此处</title>
    </head>
    <body>
        此页面从
        <br />
        <b>forward.jsp</b>中收到一个转发的请求,
        <br>此页面是 
        <b>requestedpage.jsp</b>中的输出结果,
        <br>但 URL 用于
        <b>forward.jsp</b>
    </body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉卧考场君莫笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值