如何在JSP里使用Java bean

简介: 如何在JSP里使用Java bean

JavaBean是特殊的Java类,是用Java语言写成的可重用组件,并且遵守JavaBeans API规范:


提供一个默认的无参构造函数。

需要被序列化并且实现了Serializable接口。

可能有一系列可读写属性。

可能有一系列的"getter"或"setter"方法。

一个例子:

image.png

在JSP里使用java bean

jsp:useBean标签可以在JSP中声明一个JavaBean,然后使用。声明后,JavaBean对象就成了脚本变量,可以通过脚本元素或其他自定义标签来访问。jsp:useBean标签的语法格式如下:


其中,根据具体情况,scope的值可以是page,request,session或application。id值可任意只要不和同一JSP文件中其它jsp:useBean中id值一样就行了。

image.png注意这里有一个错误:undefined type:action.Students

image.pngimage.png我把Students类的implements java.io.Serializable语句删除,错误就消失了:

image.png但是运行时又遇到新的错误:

image.png

org.apache.jasper.JasperException: Cannot find a method to write property [age] of type [int] in a bean of type [action.Students]
  org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:367)
  org.apache.jsp.main_jsp._jspService(main_jsp.java:135)
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note The full stack trace of the root cause is available in the server logs.

把此处的Integer改成int,错误消失:

image.pngimage.png

相关文章
|
3天前
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
9 2
|
5天前
|
消息中间件 安全 Java
在Spring Bean中,如何通过Java配置类定义Bean?
【4月更文挑战第30天】在Spring Bean中,如何通过Java配置类定义Bean?
14 1
|
11天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
13天前
|
Java 测试技术 Spring
|
1月前
|
XML Java 程序员
作为Java程序员还不知道Spring中Bean创建过程和作用?
作为Java程序员还不知道Spring中Bean创建过程和作用?
16 0
|
1月前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
9 0
|
1月前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
15 0
|
1月前
|
Java
校园帮【JSP+Servlet+JavaBean】(Java课设)
校园帮【JSP+Servlet+JavaBean】(Java课设)
14 0
Java Bean 为什么必须要有一个无参构造函数?
JAVA EE 中,JavaBean 是一个很重要的概念,而 JavaBean 还有以下的使用习惯。 首先我们知道,有两种方法为java对象中的元素赋值:
673 0
Java Bean 为什么必须要有一个无参构造函数?
|
3天前
|
存储 缓存 前端开发
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
14 3