美文网首页
JavaEE-9-JSP

JavaEE-9-JSP

作者: ZzzRicardo_Yue | 来源:发表于2018-09-05 16:16 被阅读0次

1、JSP的四种基本语法

生成输出内容

  • JSP注释:<%-- --%>
  • JSP声明:<%! %>
  • JSP输出表达式:<%= %>
  • JSP小脚本:<% %>

2、JSP三个编译指令

用于通知JSP引擎

  • page:是针对当前页面的指令
  • include:用于指定包含另一个页面
  • taglib:用于定义和访问自定义标签
    使用上述编译指令的格式:<%@ 编译指令名 属性名="属性值" %>

3、JSP七个动作指令

动作指令表示的是JSP运行时的动作
格式:<jsp:具体的动作指令代码 属性名="属性值" />

  • jsp:forward
  • jsp:param
  • jsp:include
  • jsp:plugin
  • jsp:useBean
  • jsp:setProperty
  • jsp:getProperty

下面内容写的很辣鸡,随便看看(上面也不怎么样)


1、JSP原理

生命周期:

  • 编译阶段:servlet容器编译servlet源文件,生成servlet类
  • 初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
  • 执行阶段:调用与JSP对应的servlet实例的服务方法
  • 销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例

2、简单实例

jsp代码块中也可以嵌套html元素,如:
例1:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int day = 3; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h3>IF...ELSE 实例</h3>
<% if (day == 1 | day == 7) { %>
      <p>今天是周末</p>
<% } else { %>
      <p>今天不是周末</p>
<% } %>
</body> 
</html> 

例2:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int fontSize; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h3>For 循环实例</h3>
<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
   <font color="green" size="<%= fontSize %>">
    菜鸟教程
   </font><br />
<%}%>
</body> 
</html> 

3、使用include包含其他的JSP文件

写两个文件date.jspmain.jsp
date.jsp文件代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<p>
   今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>

main.jsp文件代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<h2>include 动作实例</h2>
<jsp:include page="date.jsp" flush="true" />

</body>
</html>

现在将以上两个文件放在服务器的根目录下,访问main.jsp文件。显示结果如下:


结果

<jsp:include page="date.jsp" flush="true" />flush="true"表示在包含资源前刷新了缓存区。

4、在JSP中使用JavaBean类

一个JavaBean类:

public class TestBean {
   private String message = "菜鸟教程";
 
   public String getMessage() {
      return(message);
   }
   public void setMessage(String message) {
      this.message = message;
   }
}

编译以上实例文件 TestBean.java :
$ javac TestBean.java
编译完成后会在当前目录下生成一个TestBean.class文件, 将该文件拷贝至当前 JSP 项目的 WebContent/WEB-INF/classes/com/runoob/main 下( com/runoob/main 包路径,没有需要手动创建)。
下面是一个 Eclipse 中目录结构图:

文件位置
接着让我们在main.jsp文件中调用该Bean:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<h2>Jsp 使用 JavaBean 实例</h2>
<jsp:useBean id="test" class="com.runoob.main.TestBean" />
 
<jsp:setProperty name="test" 
                    property="message" 
                    value="菜鸟教程..." />
 
<p>输出信息....</p>
 
<jsp:getProperty name="test" property="message" />

</body>
</html>
  • 注意上面这里<jsp:useBean id="test" class="com.runoob.main.TestBean" />表示使用使用这个JavaBean类,并且设了一个id为test(这个id后面有用)
  • 接着,
<jsp:setProperty name="test" 
                    property="message" 
                    value="菜鸟教程..." />
  • 这里的name属性的值与之前的id相同,然后指定改变TestBean中的message属性的值为“菜鸟教程···”
  • 注意jsp:setProperty只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty

5、其他JSP元素

<jsp:forward page="相对 URL 地址" />

把请求转到另外的页面

6、JSP隐式对象

相关文章

  • JavaEE-9-JSP

    1、JSP的四种基本语法 生成输出内容 JSP注释:<%-- --%> JSP声明:<%! %> JSP输...

网友评论

      本文标题:JavaEE-9-JSP

      本文链接:https://www.haomeiwen.com/subject/lnbowftx.html