Tôi đang viết một ứng dụng web chạy trong một cá thể Jetty được nhúng.không thể nạp thẻ JSTL trong máy chủ Jetty được nhúng
Khi tôi cố gắng để thực hiện một tuyên bố JSTL, tôi nhận được ngoại lệ sau đây:
org.apache.jasper.JasperException: /index.jsp(1,63) PWC6188: Các uri tuyệt đối: http://java.sun.com/jsp/jstl/core không thể được giải quyết trong một trong hai web.xml hoặc các tập tin jar triển khai với ứng dụng này
tôi có lọ sau trên classpath
- ant-1.6.5.jar
- ant-1.7.1.jar
- ant-launcher-1.7.1.jar
- lõi-3.1.1.jar
- cầu cảng-6.1.22.jar
- cầu cảng-util-6.1 .22.jar
- jsp-2.1-6.1.14.jar
- jsp-api-2.1.jar
- JSTL-1.2.jar
- servlet-api-2.5-20081211.jar
- servlet-api-2.5-6.1.14.jar
- chuẩn 1.1.2.jar
web.xml của tôi trông như thế này:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee h77p://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>test</display-name>
</web-app>
Mã của tôi trông như thế này:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<h2>Hello World!</h2>
<%= new java.util.Date() %><br/>
${1+2}<br/>
<c:out var="${5+9}"/><br/>
</body>
</html>
tôi bắt đầu máy chủ Jetty nhúng của tôi như thế này:
Server server = new Server(80);
WebAppContext context = new WebAppContext("pig-1.0-SNAPSHOT.war","/");
server.addHandler(context);
server.start();
Tôi đã dành hai ngày qua thử nghiệm với các kết hợp khác nhau của tệp jar, cấu hình web.xml và khai báo thư viện thẻ nhưng không có kết quả.
Tôi làm cách nào để có được một máy chủ Jetty được nhúng và chạy với sự hỗ trợ JSTL đầy đủ?
Tốt biết, cảm ơn bạn! Tuy nhiên, sau khi thay đổi này, vấn đề vẫn tồn tại. –
Đảm bảo rằng bạn chưa trích xuất bất kỳ tệp JSTL JAR nào và được bao gồm trong mỗi tệp TLD của nó trong đường dẫn lớp hoặc đã xác định bất kỳ thứ gì trong 'web.xml'. Ngoài ra, hãy đảm bảo rằng bạn chưa đặt/sao chép (các) tệp JAR JSTL ở một nơi khác, ví dụ: trong 'Appserver/lib' hoặc' JRE/lib'. Để cài đặt JSTL về cơ bản tất cả những gì bạn cần làm là đặt tệp JAR trong classpath (ví dụ: '/ WEB-INF/lib') và khai báo thẻ taglib ở trên tệp JSP. Đó nên là nó. Thực sự không có gì cần phải được thực hiện, nếu không nó sẽ va chạm ở đâu đó. – BalusC