您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
02-JSP脚本(类php中的html与动态代码混写且jsp修改无需编译)
发布时间:2024-12-02 18:57:38编辑:雪饮阅读()
-
jsp脚本有好几种,这第一种像是这样
<%
System.out.println("hello jsp");
int i=3;
%>
jsp脚本会被在访问的时候才解析到实际的servlet类中,比如这里解析到D:\os\jspProjectModule\target\tomcat\work\Tomcat\localhost\jspProjectModule\org\apache\jsp\hello_jsp.java
那么上述语句会生成于该文件中的_jspService方法体内如:
System.out.println("hello jsp");
int i=3;
那么第二种脚本则是类似这样,直接输出内容于网页中的
<%="hello"%>
当然除了输出字符串到网页,也可以输出变量到网页,如
<%=i%>
当然,也支持定义方法和变量,像是这样
<%!
void show(){
}
String name="kasumi";
%>
这样会产生于该java类中的成员方法与成员属性。
还有就是这几种脚本都可以共存的。
所以我们可以做一个简单的示例。
遍历出一个品牌列表。(新增jsp或修改jsp文件不用重新编译,会自动在请求时编译)
当然在完成这个示例的时候先需要了解下jsp页面中如何导包,类似这样
<%@ page import="com.POJO.Brand" %>
那么我这里需要定义一个品牌Brand的实体类,如
package com.POJO;
/**
* 品牌实体类
*/
public class Brand {
// id 主键
private Integer id;
// 品牌名称
private String brandName;
// 企业名称
private String companyName;
// 排序字段
private Integer ordered;
// 描述信息
private String description;
// 状态:0:禁用 1:启用
private Integer status;
public Brand() {
}
public Brand(Integer id, String brandName, String companyName, String description) {
this.id = id;
this.brandName = brandName;
this.companyName = companyName;
this.description = description;
}
public Brand(Integer id, String brandName, String companyName, Integer ordered, String description, Integer status) {
this.id = id;
this.brandName = brandName;
this.companyName = companyName;
this.ordered = ordered;
this.description = description;
this.status = status;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getBrandName() {
return brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public Integer getOrdered() {
return ordered;
}
public void setOrdered(Integer ordered) {
this.ordered = ordered;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
@Override
public String toString() {
return "Brand{" +
"id=" + id +
", brandName='" + brandName + '\'' +
", companyName='" + companyName + '\'' +
", ordered=" + ordered +
", description='" + description + '\'' +
", status=" + status +
'}';
}
}
然后至于品牌数据列表就用该Brand实体类形成一个ArrayList列表来做一些假数据即可。
另外就是如果在循环体中包含html或纯文本信息,则可以用当前脚本的关闭标签与新开一个标签中间的地方来实现,例如。
<%
if(brand.getStatus()==1){
%>
启用
<%
}
%>
那么我们最终完整实现一个brand.jsp如:
<%@ page import="com.POJO.Brand" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%--
Created by IntelliJ IDEA.
User: 1
Date: 2024/12/2
Time: 15:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
//创建假数据
List<Brand> brands = new ArrayList<Brand>();
brands.add(new Brand(1,"三只松鼠","三只松鼠",100,"三只松鼠,好吃不上火",1));
brands.add(new Brand(2,"优衣库","优衣库",200,"优衣库,服适人生",0));
brands.add(new Brand(3,"小米","小米科技有限公司",1000,"为发烧而生",1));
%>
<table border="1" cellspacing="0" width="800">
<tr>
<th>序号</th>
<th>品牌名称</th>
<th>企业名称</th>
<th>排序</th>
<th>品牌介绍</th>
<th>状态</th>
<th>操作</th>
</tr>
<%
for(Brand brand:brands){
%>
<tr align="center">
<td><%=brand.getId()%></td>
<td><%=brand.getBrandName()%></td>
<td><%=brand.getCompanyName()%></td>
<td><%=brand.getOrdered()%></td>
<td><%=brand.getDescription()%></td>
<td>
<%
if(brand.getStatus()==1){
%>
启用
<%
}
%>
<%
if(brand.getStatus()==0){
%>
禁用
<%
}
%>
</td>
<td><a href="#">修改</a> <a href="#">删除</a></td>
</tr>
<%
}
%>
</table>
</body>
</html>
然后访问如
http://localhost:8080/jspProjectModule/brand.jsp
关键字词:jsp,脚本,编译
相关文章
- 01-JSP概述&快速入门&原理(jsp-servlet的继承与实现流
- firebase服务端解密token(id token)及postman一键测试脚
- 13-设置maven编译插件(快捷编写maven坐标)
- 03-Maven仓库介绍(基于maven的项目的maven编译、仓库
- 06_JSP_内置对象(pageContext对象)
- 05_JSP_注释(jsp注释与html注释的区别)
- 04_JSP_指令_include&taglib指令(模板文件包含与自定
- 03_JSP_指令_page指令(500自定义及exception对象在jsp
- 16_JSP_案例_改造Cookie案例(jsp支持脚本标签截断)
- 15_JSP_入门学习(out与response缓冲区的优先级)