JSP
JSP概述
-
jsp(全称:Java server Pages):Java服务端页面。是一种动态的网页技术,其中既可以定义HTML、JS、CSS等静态内容,还可以定义Java代码的动态内容。
JSP快速入门
导入JSP依赖
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency>
创建JSP页面
在项目的web
目录下创建jsp页面
#### 编写代码
在hello.jsp
页面中书写HTML
标签和Java
代码,如下:
<%@ page contentType="text/html;charset=utf-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1> hello jsp </h1> <% System.out.println("hello,jsp") %> </body> </html>
jsp脚本
-
jsp脚本用于在jsp页面内定义Java代码
-
jsp脚本分类:
-
<%...%>
:内容会直接放到_jspService()
方法之中 -
<%=...%>
内容会放到out.print()
中,作为ut.print()
的参数 -
<%!...%>
:内容会放到_jspService()
方法之外,被类直接包含
-
例:![](https://img-blog.csdnimg.cn/7fa9bfe6aa5f4313b15a17c9130897c5.png)
需求:使用jsp脚本展示品牌数据
-
在该案列中数据不从数据库中查询,而是在jsp页面上写
实现:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>商品信息</title> </head> <body> <%! class Product { private String name; private String company; private int order; private String intro; private int state; public Product(String name, String company, int order, String intro, int state) { this.name = name; this.company = company; this.order = order; this.intro = intro; this.state = state; } public String getName() { return name; } public String getCompany() { return company; } public int getOrder() { return order; } public String getIntro() { return intro; } public int getState() { return state; } } %> <% Product wxr = new Product("外星人", "戴尔", 1, "不买最好的,只卖最贵的", 1); Product rog = new Product("ROG", "华硕", 3, "反正也挺贵", 1); Product mac = new Product("Mac Book Pro", "苹果", 2, "反正买不起", 0); Product[] products = {wxr, rog, mac}; %> <table> <tr> <td>序号</td> <td>品牌名称</td> <td>企业名称</td> <td>排序</td> <td>品牌介绍</td> <td>状态</td> <td>操作</td> </tr> <% for (int i = 0; i < products.length; i++) { Product current = products[i]; %> <tr> <td><%=i + 1%></td> <td><%=current.getName()%></td> <td><%=current.getCompany()%></td> <td><%=current.getOrder()%></td> <td><%=current.getIntro()%></td> <td><%=(current.getState() == 1) ? "启用" : "禁用"%></td> <td><a href="#">修改</a><a href="#">删除</a></td> </tr> <% } %> </table> </body> </html>