【JSP】JSP七种页面元素

本文介绍了JSP中的七种页面元素,包括静态内容、指令、表达式、Scriptlet、声明、动作和注释,并通过示例展示了它们在实际应用中的用法。特别提到了在Tomcat中遇到的泛型错误及其解决方案,需要将JSP编译版本配置为1.8。此外,还提供了JSP中for循环的使用示例,展示了如何遍历并显示列表内容。
摘要由CSDN通过智能技术生成

1 七种页面元素

在这里插入图片描述

  • 静态内容:即html, css, js等
  • 指令<%@...%>:一般第一行,都会用来设置编码格式,导入常用类等。如:<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" import="java.util.*" %>。contentType="text/html;charset=UTF-8"是设置解码格式,pageEncoding="UTF-8"是设置编码格式。
  • 表达式<%=...%>:一般用在for循环中,表示一个数组中的一项。
  • Scriptlet<%...%>:可以写任何Java代码,在这里写的输出语句,会打印在控制台中。除非调用JSP内置的对象,才会显示在页面上。
  • 声明<%!..%>:可以声明字段和方法,一般不这么用。
  • 动作<jsp:include page="filename"/>,这是一个包含动作,还包括其他的动作,如页面跳转等。要注意的是后面的/不能省略,否则JSP无法转译,会报错。
  • 注释<%--...--%>:这个非常常见,就不解释了。

2 应用:<%…%>和<%=…%>

  • <% System.out.println("hello jsp1");%>:会在tomcat的控制台打印出来,里面的语句是完全的Java代码。
  • <%= "hello jsp2"%>:这是一个表达式,相当于放了一个实例,会在页面上打印出来。
  • <% out.println("hello jsp3");%>:out是JSP的九大内置对象之一,会在页面上打印出来。
    这三个语句都是打印hello jsp这个字符串。
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" import="java.util.*" %>
你好 JSP
<br>
<%= new Date().toLocaleString()%>
<br>
<% System.out.println("hello jsp1");%>
<br>
<%= "hello jsp2"%>
<br>
<% out.println("hello jsp3");%>

在这里插入图片描述
在这里插入图片描述

3 应用:for循环

  • JSP中for循环的写法,通过<%...%><%=...%>完成for循环的使用。
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" import="java.util.*" %>
<%
    List<String> names = new ArrayList<>();
    names.add("Alice");
    names.add("Bob");
    names.add("Clion");
    names.add("David");
    names.add("Echo");
%>

<table width="200px" align="center" border="1" cellspacing="0">
    <tr>
        <td>姓名</td>
    </tr>
    <% for (String name : names) { %>
    <tr>
        <td>
            <%=name%>
        </td>
    </tr>
    <% } %>
</table>

在这里插入图片描述

  • 需要注意的是:这里还有一个可能会报错的地方。我使用的tomcat7的版本,直接运行会报一个错误。

在这里插入图片描述

浏览器会报500的错误,而且说是泛型的这一行报错。原因是tomcat中配置的jsp编译版本低于1.7。

我们可以通过修改tomcat的配置文件,tomcat-7/conf/web.xml,然后找到jsp相关的配置,添加如图所示的内容,报错即可解决。
在这里插入图片描述

<init-param>
    <param-name>compilerSourceVM</param-name>
    <param-value>1.8</param-value>
</init-param>
<init-param>
    <param-name>compilerTargetVM</param-name>
    <param-value>1.8</param-value>
</init-param>

参考资料
https://how2j.cn/k/jsp/jsp-elements/581.html
https://blog.csdn.net/sy793314598/article/details/78338296

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值