English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaBean JSP

JavaBean é uma classe Java especial, escrita em Java e que observa as normas da API JavaBean.

A seguir, apresentamos características únicas do JavaBean em comparação com outras classes Java:

  • Fornece um construtor padrão sem parâmetros.

  • Deve ser serializado e implementar a interface Serializable.

  • Pode haver uma série de atributos de leitura e escrita.

  • Pode haver uma série de getters ou setter Método.

Atributo JavaBean

Um atributo de um objeto JavaBean deve ser acessível. Este atributo pode ser qualquer tipo de dados Java válido, incluindo classes Java personalizadas.

Um atributo de um objeto JavaBean pode ser de leitura e escrita, ou apenas de leitura, ou apenas de escrita. Os atributos de um objeto JavaBean são acessados por meio de dois métodos fornecidos pela classe implementadora do JavaBean:

MétodoDescrição
getPropertyName() Por exemplo, se o nome do atributo for myName, o nome deste método deve ser escrito como getMyName() para ler este atributo. Este método também é chamado de leitor.
setPropertyName() Por exemplo, se o nome do atributo for myName, o nome deste método deve ser escrito como setMyName() para escrever este atributo. Este método também é chamado de escrevedor.

Um atributo apenas de leitura oferece apenas o método getPropertyName(), um atributo apenas de escrita oferece apenas o método setPropertyName().

Exemplo de programa JavaBean

Este é o arquivo StudentBean.java:

package com.w3codebox;
public class StudentsBean implements java.io.Serializable
{
   private String firstName = null;
   private String lastName = null;
   private int age = 0;
   public StudentsBean() {
   {}
   public String getFirstName(){
      return firstName;
   {}
   public String getLastName(){
      return lastName;
   {}
   public int getAge(){
      return age;
   {}
   public void setFirstName(String firstName){
      this.firstName = firstName;
   {}
   public void setLastName(String lastName){
      this.lastName = lastName;
   {}
   public void setAge(int age) {
      this.age = age;
   {}
{}

编译 StudentBean.java 文件(最后一个示例会用到):

$ javac StudentsBean.java

编译后获得 StudentBean.class 文件,将其拷贝到 /WebContent/WEB-INF/classes/com/w3codebox,如下图所示:

访问JavaBean

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

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

接下来给出的是 标签的一个简单的用法:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
useBean 示例</title>
</head>
<body>
<jsp:useBean id="date" /> 
<p>日期为:<%= date %>
</body>
</html></pre><p>它将会产生如下结果:</p><pre>日期为:Tue Jun 28 15:22:24 CST 2016</pre><h2>访问 JavaBean 对象的属性</h2><p>在 <strong><jsp:useBean></strong> 标签主体中使用 <strong><jsp:getProperty/></strong> 标签来调用 <strong>getter</strong> 方法,使用 <strong><jsp:setProperty/></strong> 标签来调用 <strong>setter</strong> 方法,语法格式如下:</p><pre><jsp:useBean id="id" scope="bean 作用域">
   <jsp:setProperty name="bean 的 id" property="属性名"  
                    value="value"/>
   <jsp:getProperty name="bean 的 id" property="属性名"/>
   ...........
</jsp:useBean></pre><p>A propriedade name se refere à propriedade id do Bean. A propriedade property se refere ao método getter ou setter que deseja chamar.</p><p>A seguir, fornece-se um exemplo simples de acesso a propriedades usando a sintaxe acima:</p><pre><%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>Exemplo de get e set de propriedades</title>
</head>
<body>
<jsp:useBean id="students" 
                   > 
   <jsp:setProperty name="students" property="firstName"
                    value="Xiaoqiang"/>
   <jsp:setProperty name="students" property="lastName" 
                    value="Wang"/>
   <jsp:setProperty name="students" property="age"
                    value="10"/>
</jsp:useBean>
<p>Nome do Estudante: 
   <jsp:getProperty name="students" property="firstName"/>
</p>
<p>Sobrenome do Estudante: 
   <jsp:getProperty name="students" property="lastName"/>
</p>
<p>Idade do Estudante: 
   <jsp:getProperty name="students" property="age"/>
</p>
</body>
</html></pre><p>O resultado da execução dos seguintes JSP é o seguinte:</p><pre>Nome do Estudante: Xiaoqiang
Sobrenome do Estudante: Wang
Idade do Estudante: 10</pre><div class="col-md-12 mb10 bg-ef"><a class="fr pre-xs-show-right" href="/jsp/jsp-custom-tags.html">Tags Personalizadas JSP</a><a class="fl pre-xs-show-left" href="/jsp/jsp-xml-data.html">Processamento de Dados XML JSP</a></div>
</div>
<div class="col-md-2 col-md-right">
<div class="panel panel-default">
</div>
<div class="panel panel-default">
</div>
</div>
</div> 
</div>
<script src="/static/script/bootstrap.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="/static/script/hljs/styles/vs.css">
<script src="/static/script/hljs/highlight.pack.js"></script>
<script>
hljs.initHighlightingOnLoad();
$(document).ready(function(){
  $(".menu-icon").click(function(){
	$(".col-md-left").toggle();
	event=arguments.callee.caller.arguments[0] || window.event;
	event.stopPropagation();	
});
if($(".col-md-left").css("display")=="none"){
	$("html,body").click(function(){
		$(".col-md-left").hide();
	});
	}
});</script>
<div class="copyright" id="footer"><div class="container"><div class="row"><div class="col-sm-12"><span>Copyright ©2025 <a href="https://pt.oldtoolbag.com">Tutorial Básico</a> oldtoolbag.com</span></div></div></div></div><a class="gotop" href="#top" title="Voltar ao Topo" style="display: none;"><span class="arrow"></span><span class="arrow lit"></span></a>
<a class="gotop" href="#top" title="Voltar ao Topo" style="display: none;"><span class="arrow"></span><span class="arrow lit"></span></a>
<script src="/myjs/tongji.js"></script>
</body></html><script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="7c9f9803000055bf0733af29-|49" defer></script>