2014-05-04 30 views
0

我是Google App Engine的新手,所以希望能幫到我。Google App Engine:獲取實體媒體資源的源代碼鏈接

我想獲得一個實體的屬性(想下載一個JSON)的源鏈接,但無法弄清楚如何。

這是代碼:

<%-- //[START all]--%> 
<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<%@ page import="com.google.appengine.api.users.User" %> 
<%@ page import="com.google.appengine.api.users.UserService" %> 
<%@ page import="com.google.appengine.api.users.UserServiceFactory" %> 
<%-- //[START imports]--%> 
<%@ page import="com.google.appengine.api.datastore.DatastoreService" %> 
<%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %> 
<%@ page import="com.google.appengine.api.datastore.Entity" %> 
<%@ page import="com.google.appengine.api.datastore.FetchOptions" %> 
<%@ page import="com.google.appengine.api.datastore.Key" %> 
<%@ page import="com.google.appengine.api.datastore.KeyFactory" %> 
<%@ page import="com.google.appengine.api.datastore.Query" %> 
<%-- //[END imports]--%> 
<%@ page import="java.util.List" %> 
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 

<html> 
<head> 
    <link type="text/css" rel="stylesheet" href="/stylesheets/main.css"/> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <title>Mandatory Assigment 2</title> 

</head> 

<body> 
    <h1>Mandatory Assignment 2</h1> 

    <p>This page shows the CSV files uploaded</p> 

    <h2>Uploaded CSV files</h2> 
    <%-- //[START datastore]--%> 
    <% 
    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); 
    Key guestbookKey = KeyFactory.createKey("Guestbook", "guestbookName"); 
    // Run an ancestor query to ensure we see the most up-to-date 
    // view of the Greetings belonging to the selected Guestbook. 
    Query query = new Query("Greeting", guestbookKey).addSort("date", Query.SortDirection.DESCENDING); 
    List<Entity> greetings = datastore.prepare(query).asList(FetchOptions.Builder.withLimit(5)); 
    if (greetings.isEmpty()) { 

    %> 
    <p>There are no CSV files. Please refresh to reload</p> 
    <% 

    } else { 
    %> 
    <p>CSV files: </p> 
    <% 
    for (Entity greeting : greetings) { 
     pageContext.setAttribute("greeting_content", 
       greeting.getProperty("content")); 
     if (greeting.getProperty("user") == null) { 
    %> 
    <p>An anonymous person wrote:</p> 
    <% 
    } else { 
    pageContext.setAttribute("greeting_user", 
      greeting.getProperty("user")); 
%> 
    <p>json string: ${fn:escapeXml(greeting_content)}</a></a></p> 
<% 
    } 
%> 
<blockquote></blockquote> 
<% 
     } 
    } 
%> 

</body> 
</html> 
<%-- //[END all]--%> 

的「$ {FN:將escapeXml(greeting_content)}」代碼輸出JSON作爲一個字符串,但我希望能夠下載JSON,而不是像這樣:

<p><a href="${fn:escapeXml(greeting_content)}">download JSON</a></a></p> 

有人可以幫我嗎?我會很感激!

回答

0

試試這個代碼:

<p><a href="${fn:escapeXml(greeting_content)}" download="name.json">download JSON</a></a></p> 

添加下載屬性可以讓內容下載在您指定

+0

考慮加入一些解釋,以提高你的答案質量的格式。 –

+0

對不起,添加下載屬性,您可以使用您指定的格式下載內容。 –

+0

好的,謝謝。但是這裏出現了一個天真的問題:下載=「name.json」怎麼知道在哪裏找到正確的json? –

相關問題