JSP中include动作与指令

简介:

  include指令

  JSP中有三大指令:page,include,taglib,之前已经说过了page的用法。这里介绍下include。

  使用语法如下:

<%@ include file="URL"%>

  比如有一个页面要包含另一个date.jsp页面,date.jsp提供一个时间输出:

复制代码
<%@ page language="java" import="java.util.*,java.io.*" contentType="text/html; charset=utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
    <h1>include</h1>        
    <%@ include file="date.jsp"%>
</body>
</html>
复制代码

  包含的date.jsp如下:

复制代码
<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    import="java.util.*"
    pageEncoding="utf-8"%>
<%
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:MM:ss");
    Date d = new Date();
    String s = sdf.format(d);
    out.println(s);
%>
复制代码

  运行结果:

  查看生成的源码,可以发现,两个页面变成了一个文件:

  查看源码发现,可以更好的理解

  include动作

  使用include动作标签也可以完成上述的操作,添加标签如下:

<jsp:include page="date.jsp" flush="true" />

  可以达到上面同样的效果。

  观察发现,此时访问jsp生成了四个文件:

  观察源码可以更好的理解:

  include指令与动作的区别

  一张图很好的说明了他们的区别(来源:慕课网):

  forward动作

  forward动作是使用jsp:forwad标签实现:

<jsp:forward page="URL" />

  可以达到与request.getRequestDispatcher("/url").forward(request,response)同样的效果。

  param动作

  常常与forward标签搭配使用,传递一些参数值:

    <jsp:forward page="userForward.jsp">
        <jsp:param value="test@qq.com" name="email"/>
        <jsp:param value="666666" name="password"/>
    </jsp:forward>

  例如,登陆界面loginForward.jsp登录用户名密码,经过处理界面doLoginForward.jsp处理后,修改密码并新添加email参数后,转发给显示页面userForward.jsp。

  loginForward.jsp代码如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    import="java.net.*"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户登录</title>
</head>
<body>
    <h1>loginForward</h1>
    <hr>
    <form name="loginForm" action="doLoginForward.jsp" method="post">
        <table>
            <tr>
                <td>username</td>
                <td><input type="text" name="username" ></input></td>
            </tr>
            <tr>
                <td>password</td>
                <td><input type="password" name="password" ></input></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="submit"/></td>
            </tr>
        </table>
    </form>
</body>
</html>

  doLoginForward.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
    import="java.net.*"
    pageEncoding="utf-8"%>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户登录</title>
</head>
<body>
    <h1>loginForward</h1>
    <hr>
    <jsp:forward page="userForward.jsp">
        <jsp:param value="test@qq.com" name="email"/>
        <jsp:param value="666666" name="password"/>
    </jsp:forward>
</body>
</html>

  userForward.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
    import="java.net.*"
    pageEncoding="utf-8"%>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户登录</title>
</head>
<body>
    <h1>userForward</h1>
    <hr>
    <%
        request.setCharacterEncoding("utf-8");
        String username = "";
        String password = "";
        String email = "";
        
        if(request.getParameter("username")!=null){
            username = request.getParameter("username");
        }
        if(request.getParameter("password")!=null){
            password = request.getParameter("password");
        }
        if(request.getParameter("email")!=null){
            email = request.getParameter("email");
        }
    %>
    
    用户名:<%=username %>
    密码:<%=password %>
    邮箱:<%=email %>
    
</body>
</html>

 

本文转自博客园xingoo的博客,原文链接:JSP中include动作与指令,如需转载请自行联系原博主。
相关文章
|
4月前
|
Java 数据安全/隐私保护
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
该博客文章通过JavaBean组件和JSP动作元素`<jsp:forward>`与`<jsp:param>`的使用示例,演示了用户登录流程,包括登录信息的提交、验证以及根据验证结果进行的页面跳转。
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
|
2月前
|
XML Java 数据格式
探索研究JSP 动作元素
【10月更文挑战第1天】
55 4
|
4月前
|
Java
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
该博客文章讲解了JSP中`<jsp:getProperty>`和`<jsp:setProperty>`动作的使用方法,包括它们的语法格式和如何在页面中使用这些动作来获取和设置JavaBean对象的属性值,并通过图书信息的填写和展示示例进行了演示。
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
|
4月前
|
存储 Java
<jsp:useBean>动作的使用
该博客文章介绍了JSP中`<jsp:useBean>`动作的使用方法,包括其语法和如何通过该动作在不同作用域(如page、request、session、application)中创建和操作JavaBean对象,并提供了示例代码。
|
4月前
|
Java
编写一个jsp页面,利用Scriptlet编写一段计算代码,要求用零作为除数,并使用page指令将错误信息显示在另外一个jsp页面,产生的错误信息为“错误,不能用0做除数”
该文章展示了如何创建一个JSP页面,使用Scriptlet编写包含除零操作的计算代码,并配置page指令将错误信息重定向至另一个JSP页面进行显示。
编写一个jsp页面,利用Scriptlet编写一段计算代码,要求用零作为除数,并使用page指令将错误信息显示在另外一个jsp页面,产生的错误信息为“错误,不能用0做除数”
|
4月前
|
Java
JSP指令
该文章解释了JSP中的指令,包括page指令、include指令和taglib指令的语法和用途,以及如何使用它们来设置JSP页面的属性和引入标签库。
JSP指令
|
7月前
|
Java
JSP 教程 之 JSP 动作元素 7
`jsp:getProperty`动作用于从已定义的Bean中获取属性值并以字符串形式输出。基本语法是在`jsp:useBean`后使用`jsp:getProperty`,指定`name`为Bean的ID和`property`为要获取的属性。例如,一个名为`TestBean`的Java类有`getMessage()`方法,Bean在JSP中定义并使用后,可通过`jsp:getProperty`获取`message`属性。编译`TestBean.java`生成`.class`文件,并放入JSP项目相应目录以使用。
50 5
|
7月前
|
Java
JSP 教程 之 JSP 动作元素 10
`jsp:plugin`元素在JSP中用于基于浏览器类型插入OBJECT或EMBED标签以运行Java Applet或JavaBean。当插件缺失时,它会自动下载。属性如`codebase`, `code`, `width`, `height`用于配置组件,`jsp:param`传递参数。示例展示了一个包含错误处理fallback的applet使用案例。
42 4
|
7月前
|
Java
JSP 教程 之 JSP 动作元素 8
JSP `jsp:getProperty`动作用于从Bean获取属性值并以字符串形式输出。需指定Bean的`name`和要提取的`property`。给定一个名为`TestBean`的JavaBean示例,其中包含`message`属性。将编译后的`TestBean.class`放在正确目录下,JSP页面通过`jsp:getProperty`加载并显示Bean的`message`属性。访问`main.jsp`以查看结果。
49 2
|
7月前
|
XML Java 数据格式
JSP 教程 之 JSP 动作元素 12
JSP `&lt;jsp:text&gt;`动作元素用于插入纯文本或EL表达式,不支持XML非法符号。在XHTML中声明DOCTYPE时必需。例子显示了在`&lt;books&gt;&lt;book&gt;`中使用`&lt;jsp:text&gt;`包裹的文本。比较使用和不使用该动作元素的效果差异。
32 2