通常中使用的JavaBean实际上是一个Java类,Jsp可以通过访问Javabean中的变量以及调用其中的方法,减小了Jsp中的代码冗余度
1.创建JavaBean
- 在项目中的src目录下面创建一个包,并在包下创建一个Java类(注意:一定要创建包,不能直接创建java类,否则无法导入JavaBean
- 创建之后在java类中写代码,定义好变量之后生成getter和setter(idea上用alt+insert,按住ctrl可选中多个变量)
package Bean;
public class message {
private String user="";
private String password="";
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
- idea项目配置,创建classes目录并设置导出路径
file-project structure-Modules-sources-web下创建classes目录
file-project structure-Modules-paths选择use module compile out path,并将outPath和test out path设置为classes目录的路径
- 在整个项目完成之后查看classes目录下是否生成了class文件,若没有,则应检查导出路径是否正确
2.javabean应用
使用前必须导入之前创建好的JavaBean
<%@ page import="Bean.message" %>
- id:JavaBean对象的唯一标志,实例名
- class:JavaBean对象的类名
- scope:JavaBean实例存在的范围,有application session page request(默认page),如果需要多个jsp页面同时访问一个JavaBean,则需要将scope设置为session
<jsp:useBean id="person" class="Bean.message" scope="session">
</jsp:useBean>
3.jsp向JavaBean中存储数据
- 将request中的数据一次性写入JavaBean,需要保证request中的参数名与JavaBean中保持一致
<jsp:useBean id="person" class="Bean.message" scope="session">
<jsp:setProperty name="person" property="*"/>
</jsp:useBean>
- 将request中某个参数写入JavaBean(示例中param是request中的参数名,property是JavaBean中参数名)
<jsp:useBean id="person" class="Bean.message" scope="session">
<jsp:setProperty name="person" property="user" param="user"/>
</jsp:useBean>
- 将某一个固定值或变量写入JavaBean
<jsp:useBean id="person" class="Bean.message" scope="session">
<jsp:setProperty name="person" property="user" value="111"/>
</jsp:useBean>
4.取出JavaBean
- getProperty标签
<jsp:useBean id="person" class="Bean.message" scope="session">
<jsp:getProperty name="person" property="user"/>
</jsp:useBean>
- getter方法提取数据
<%=person.getUser()%>