我知道之前已经问过这个问题,但即使经过过去5个小时的答案,我仍然没有找到我正在寻找的东西。
我正在尝试使用jstl通过jsp读取JSON。我在WEB-INF / lib中导入了json-taglib jar文件,但我得到了
在带有根本原因的前缀“json”导入的标记库中定义了无标记“parse” org.apache.jasper.JasperException:/index-test.jsp(第7行,第0列:无)使用前缀“json”导入的标记库中定义的标记“parse”
这是我的代码
<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ taglib tagdir="/WEB-INF/tags/layout" prefix="layout" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<c:import var="dataJson" url="http://localhost:10081/test.json"/>
<json:parse json="${dataJson}" var="parsedJSON" />
Fetch the name of the node at index 1 : ${parsedJSON.node[1]}
这是我正在阅读的JSON对象
{
"firstName": "Joe"
"lastName": "Bloggs"
}
该应用程序在角度下工作正常,但我想迁移实现,使其读取json服务器端
请帮忙
答案 0 :(得分:0)
我用过这个,它对我有用:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="java.io.*, java.net.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP Reading Text File</title>
</head>
<body>
<%
String fileName = "/WEB-INF/json/test.json";
InputStream ins = application.getResourceAsStream(fileName);
try
{
if(ins == null)
{
response.setStatus(response.SC_NOT_FOUND);
}
else
{
BufferedReader br = new BufferedReader((new InputStreamReader(ins)));
String data;
while((data= br.readLine())!= null)
{
out.println(data+"<br>");
}
}
}
catch(IOException e)
{
out.println(e.getMessage());
}
%>
</body>
</html>
答案 1 :(得分:-1)
¿10081端口是否与执行JSP的Web服务器相同?也许您需要通过HTTP过滤器添加相关的HTTP标头来启用CORS: