springboot整合jsp 遇到的問題


1,在idea中新建jsp文件

首先需要在springboot項目 在src 中webapp /WEB-INF/JSP

當我右鍵想新建一個jsp文件時默認沒有

File->Project Struction ->modules 按加號 新增web,雙擊web resource directory 修改路徑 web resource directory path為 當前項目目錄/src/webapp ->WEB-INF->JSP

 

ok

創建jsp文件

 

2,jsp報錯

Servlet.service() for servlet [jsp] threw exception
org.apache.jasper.JasperException: /WEB-INF/jsp/userList.jsp (line: [22], column: [4]) According to TLD or attribute directive in tag file, attribute [items] does not accept any expressions

本人jsp代碼

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %>
 2 <%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6     <title>Title</title>
 7 </head>
 8 <body>
 9 <table border="1" align="center" width="50%">
10     <tr>
11         <th>ID</th>
12         <th>name</th>
13         <th>age</th>
14     </tr>
15     <c:forEach items="${list}" var="user">
16         <tr>
17             <td>${user.id}</td>
18             <td>${user.name}</td>
19             <td>${user.age}</td>
20         </tr>
21     </c:forEach>
22 </table>
23 
24 </body>
25 </html>

maven依賴

<!-- JSP標准標簽庫(JSTL)是一個JSP標簽集合,它封裝了JSP應用的通用核心功能。 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

查看http://java.sun.com/jstl/core

jstl存在1.0和1.1的差異問題,用EL建議需要在1.1以上版本:

使用jstl1.1 

只要將u'serList.jsp文件中

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
換成:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

 或者也可以
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
改為
<%@ taglib uri=http://java.sun.com/jstl/core_rt prefix="c"%>

可能是因為使用了JSP2.0版本, 同時又沒有使用JSTL core庫的備用版本(RT庫)

JSTL core庫的有兩種taglib偽指令, 其中RT庫即是依賴於JSP傳統的請求時屬性值, 而不是依賴於EL來實現(稱為EL庫.JSP2.0將支持EL)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM