jsp 导入自己写的类并使用输出

1、创建student.java类

package test;

import java.util.ArrayList;
import java.util.List;

public class student {
	private String name;
	private int age;
	private String sex;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public student() {
		super();
		// TODO Auto-generated constructor stub
	}
	public student(String name, int age, String sex) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	@Override
	public String toString() {
		return "students [name=" + name + ", age=" + age + ", sex=" + sex + "]";
	}

	public static List<student> getAll(){
		List<student> list = new ArrayList<student>();
		list.add(new student("zhansan", 20, "male"));
		list.add(new student("lili", 21, "female"));
		list.add(new student("wangwu", 19, "male"));
		return list;
	}
}

2、创建index.jsp
 

<%@ page language="java" import="java.util.*,test.student" contentType="text/html; charset=utf-8"
    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>hello jsp</title>
</head>
<body>
	<%
		List<student> list = student.getAll();
	%>

<table border="1" width="60%" align="center">
	<tr>
		<th>姓名</th>
		<th>年龄</th>
		<th>性别</th>
	</tr>

<%
	for(student stu : list){
%>
	<tr>
		<td><%=stu.getName() %></td>
		<td><%=stu.getAge() %></td>
		<td><%=stu.getSex() %></td>
	</tr>
<% 
	}
%>
</table>
	
</body>
</html>

3、在 index.jsp的 <%@ page language="java" import="java.util.*,test.student" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>这句中导入了路径为test.student的类

4、查看结果

### 如何在 JSP导入实体 要在 JSP 文件中使用 `import` 导入实体,可以通过 `<%@ page %>` 指令来完成。以下是详细的说明: #### 使用 `<%@ page import %>` 指令 JSP 提供了一个专门用于导入 Java 的指令——`<%@ page import="package.ClassName" %>`. 这一指令允许开发者引入所需的 Java 以便在脚本片段或表达式中使用[^2]。 例如,如果存在一个名为 `User` 的实体位于包 `com.example.model` 下,则可以在 JSP 页面顶部添加以下代码: ```jsp <%@ page import="com.example.model.User" %> ``` #### 实体定义示例 假设我们有一个简单的实体 `User` 定义如下: ```java package com.example.model; public class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` #### 在 JSP 中实例化使用该实体 一旦成功导入了实体,在 JSP 脚本片断中即可创建其实例对象,调用其方法。下面是一个完整的例子展示如何操作: ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="com.example.model.User" %> <html> <head> <title>Import Example</title> </head> <body> <% // 创建 User 对象 User user = new User("张三", 25); // 输出属性值 out.println("<h3>姓名:" + user.getName() + "</h3>"); out.println("<h3>年龄:" + user.getAge() + "</h3>"); %> </body> </html> ``` 以上代码展示了如何在一个标准 HTML 结构内的 JSP 文件里利用已导入的自定义实体 `User`. #### 静态与动态导入的区别 除了常规的导入外,还可以执行静态成员导入。这使得可以直接访问某个下的静态字段或者方法而无需提及所属别名称。语法形式为 `<%@page import="fully.qualified.classname.*"%>` 或者针对特定静态组件采用 `<%@page import="fully.qualified.classname.{staticMember}"%>` 形式[^2]。 比如要直接引用 `Math.PI`, 可以这样做: ```jsp <%@ page import="static java.lang.Math.PI;" %> ... out.print(PI); ``` #### 注意事项 1. **路径准确性**: 确保指定给 `import` 属性的全限定名(即包含包名在内的完整名)无误。 2. **编译期验证**: 如果服务器未能找到所指明的文件,将会抛出编译错误提示找不到此。 3. **性能考量**: 尽量减少不必要的大量无关加载以免影响应用效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值