jsp 语言 JSP 通过 EL 表达式进行对象属性赋值示例

JSP阿木 发布于 2025-07-03 13 次阅读


JSP 通过 EL 表达式进行对象属性赋值示例

JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码。EL(Expression Language)是JSP的一个内置表达式语言,它提供了一种简洁的方式来访问Java对象和集合中的属性。本文将围绕JSP通过EL表达式进行对象属性赋值的主题,通过一系列示例来展示如何使用EL表达式来简化JSP页面的开发。

EL表达式简介

EL表达式是JSP 2.0规范的一部分,它允许开发者在不编写Java代码的情况下,直接在JSP页面中访问Java对象和集合的属性。EL表达式以`${}`的形式出现,其中`${}`内的内容是EL表达式本身。

对象属性赋值的基本语法

在JSP中,使用EL表达式访问对象属性的基本语法如下:

jsp

${对象名.属性名}


其中,`对象名`是对象在作用域中的变量名,`属性名`是对象的属性名。

示例一:简单对象属性赋值

假设我们有一个简单的Java类`Person`,它有两个属性:`name`和`age`。

java

public class Person {


private String name;


private int age;

// 构造函数


public Person(String name, int age) {


this.name = name;


this.age = age;


}

// getter 和 setter 方法


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页面中,我们可以这样使用EL表达式来访问和设置`Person`对象的属性:

jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


<html>


<head>


<title>EL Expression Example</title>


</head>


<body>


<h1>Person Information</h1>


<p>Name: ${person.name}</p>


<p>Age: ${person.age}</p>

<!-- 更新Person对象的属性 -->


<form action="updatePerson.jsp" method="post">


<label for="name">Name:</label>


<input type="text" id="name" name="name" value="${person.name}"><br>


<label for="age">Age:</label>


<input type="number" id="age" name="age" value="${person.age}"><br>


<input type="submit" value="Update">


</form>


</body>


</html>


在这个示例中,我们首先在JSP页面中声明了一个`Person`对象,并使用EL表达式来显示其属性。然后,我们创建了一个表单,允许用户更新`Person`对象的属性。

示例二:使用EL表达式进行集合操作

假设我们有一个`List`集合,其中包含多个`Person`对象。

java

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


<html>


<head>


<title>EL List Example</title>


</head>


<body>


<h1>Person List</h1>


<ul>


<c:forEach var="person" items="${people}">


<li>Name: ${person.name}, Age: ${person.age}</li>


</c:forEach>


</ul>


</body>


</html>


在这个示例中,我们使用了JSTL(JavaServer Pages Standard Tag Library)的`<c:forEach>`标签来遍历`people`集合,并使用EL表达式来显示每个`Person`对象的属性。

示例三:使用EL表达式进行条件判断

在JSP页面中,我们经常需要根据条件来显示不同的内容。EL表达式提供了`${...?...}`的语法来进行条件判断。

jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


<html>


<head>


<title>EL Conditional Example</title>


</head>


<body>


<h1>Conditional Display</h1>


<p>${person.age > 18 ? 'Adult' : 'Minor'}</p>


</body>


</html>


在这个示例中,我们使用EL表达式来判断`person.age`的值,并根据条件显示“Adult”或“Minor”。

总结

EL表达式是JSP开发中非常有用的工具,它允许开发者在不编写Java代码的情况下,直接在JSP页面中访问和操作Java对象和集合。通过本文的示例,我们可以看到EL表达式在简化JSP页面开发方面的强大功能。在实际开发中,合理使用EL表达式可以大大提高开发效率,并使代码更加简洁易读。

扩展阅读

- [JSP EL官方文档](https://docs.oracle.com/cd/E19635-01/819-0755/6j9k2/)

- [JSTL官方文档](https://docs.oracle.com/cd/E19635-01/819-0755/6j9k2/)

- [JSP标准标签库(JSTL)教程](https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm)

通过学习这些资源,可以更深入地了解EL表达式和JSTL的使用,进一步提升JSP开发技能。