繁体   English   中英

无法在jsp中读取JSON文件

[英]Unable to read JSON file in jsp

我知道这个问题之前曾有人提出过,但即使在过去5个小时中回答了所有问题之后,我仍然没有找到想要的东西。

我正在尝试使用jstl通过jsp读取JSON。 我已经在WEB-INF / lib中导入了json-taglib jar文件,但是我正在

在根本没有原因的org.apache.jasper.JasperException:/index-test.jsp(行:7,列:0)导入的带有前缀“ json”]的标签库中,未定义标签“ parse”(行:7,列:0)在标签中未定义标签“ parse”使用前缀“ json”导入的库

这是我的代码

<%@ 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服务器端

请帮忙

我用了它,它为我工作:

<%@ 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>

¿10081端口是否与执行JSP的Web服务器相同? 也许您需要通过使用HTTP过滤器添加相关的HTTP标头来启用CORS:

https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM