2015-12-17 3 views
0

Я знаю, что этот вопрос задавали раньше, но даже после ответов на последние 5 часов я все еще не нашел то, что искал.Невозможно прочитать JSON-файл в jsp

Я пытаюсь читать JSON через jsp, используя jstl. Я импортировал файл банка JSON-TagLib в WEB-INF/Lib, но я не получаю

тега «разобран», определенные в библиотеке тегов импортированной с приставкой «JSON»] с первопричиной org.apache. jasper.JasperException: /index-test.jsp (строка: 7, колонка: 0) Нет тегов "разбора" определена в библиотеке тегов импортирована с приставкой "" 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 стороне сервера

Пожалуйста, помогите

+0

Где вы найдете примеры разбора JSON? Atg taglib, который я нахожу, касается создания json. –

+0

http://stackoverflow.com/questions/829643/processing-json-objects-in-jsp –

+1

Я только заметил, что Стивен из вышеупомянутого поста создал свой собственный taglib и не использовал atg. –

ответ

-1

¿Является 10081 порт так же, как веб-сервер, который выполняет JSP? Может быть, вам нужно включить CORS, добавляя соответствующие заголовки HTTP с помощью HTTP-фильтра:

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

+0

Да, порты одинаковы –

+0

Подход, который я принял, был неправильным, потому что я предположил, что Стивен из ссылки, с которой я видел этот подход, использовал atg, но, внимательно прочитав ответ, я увидел, что он создал свой собственный тег lib. Возможным подходом является преобразование объекта JSON в ArrayList из HashMaps. Но это не повторное использование. Я хочу что-то многократно используемое, чтобы его можно было реализовать на любом объекте JSON. –

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> 
+0

Вам необходимо добавить некоторые объяснения в свой ответ. –

Смежные вопросы