创建JSP页面并导入EL表达式的流程分为如下几步:
1. 创建动态Web项目
在Eclipse中,选择“File”->“New”->“Dynamic Web Project”,填写项目名称,选择合适的Target runtime,点击“Finish”创建新的Web项目。
2. 创建JSP页面
在项目的“WebContent”文件夹下,右键选择“New”->“JSP File”,填写文件名,选择JSP版本,点击“Finish”创建新的JSP页面。
3. 导入EL表达式
在JSP文件的头部引入<%@page isELIgnored="false"%>
,这样就开启了EL表达式的支持。在页面中使用EL表达式,需用${}
包围表达式。
示例代码:
<%@page contentType="text/html" pageEncoding="UTF-8" isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP EL demo</title>
</head>
<body>
<h1>Welcome ${requestScope.username}!</h1>
<%--
示例2:使用EL表达式输出数组元素
--%>
<ul>
<c:forEach var="num" items="${pageScope.numbers}">
<li>${num}</li>
</c:forEach>
</ul>
</body>
</html>
以上示例中,第一个${requestScope.username}
引用了request域中的username
属性;第二个${num}
引用了page域中的numbers
属性,遍历其中的元素并输出。
4. 导入JSTL库
Eclipse的动态Web项目默认已经导入了JSTL的库文件,但需要在JSP页面中进行引用。
在JSP文件的头部添加以下代码即可:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
示例1:实现登录功能
假设登录页面需要用户输入用户名和密码,然后在服务器端进行验证。如果验证通过,服务器将用户名存储在request域中,跳转到欢迎页面并使用EL表达式显示用户名。
1) login.jsp
<%@page contentType="text/html" pageEncoding="UTF-8" isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form action="login" method="post">
<table>
<tr>
<td>Username:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>
2) LoginServlet
public class LoginServlet extends HttpServlet {
//模拟用户信息
private Map<String, String> users = new HashMap<String, String>() {{
put("guest", "password");
put("admin", "123456");
}};
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (users.containsKey(username) && users.get(username).equals(password)) {
request.setAttribute("username", username);
request.getRequestDispatcher("/welcome.jsp").forward(request, response);
} else {
response.sendRedirect("/login.jsp");
}
}
}
3) welcome.jsp
<%@page contentType="text/html" pageEncoding="UTF-8" isELIgnored="false"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Welcome</title>
</head>
<body>
<h1>Welcome ${requestScope.username}!</h1>
</body>
</html>
示例2:输出数组元素
假设需要显示一个整数数组的所有元素。可以使用JSTL中的<c:forEach>
标签进行遍历和输出。
1) 数组数据源
public class NumberServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int[] nums = {1, 2, 3, 4, 5};
request.setAttribute("numbers", nums);
request.getRequestDispatcher("/numbers.jsp").forward(request, response);
}
}
2) numbers.jsp
<%@page contentType="text/html" pageEncoding="UTF-8" isELIgnored="false"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Numbers</title>
</head>
<body>
<h1>Numbers:</h1>
<ul>
<c:forEach var="num" items="${pageScope.numbers}">
<li>${num}</li>
</c:forEach>
</ul>
</body>
</html>
以上示例中,通过调用NumberServlet
返回一个整数数组,此数组被存储在request域中,供numbers.jsp
页面使用。在numbers.jsp
中使用<c:forEach>
标签遍历数组元素并使用EL表达式${num}
输出。
以上就是在Eclipse中创建JSP页面并导入EL表达式的详细攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Eclipse怎么创建jsp页面并导入el表达式? - Python技术站