Java 如何在使用com.google.appengine.api.datastore.Text时保持格式和缩进
因此,我使用Java 如何在使用com.google.appengine.api.datastore.Text时保持格式和缩进,java,google-app-engine,formatting,Java,Google App Engine,Formatting,因此,我使用com.google.appengine.api.datastore.Text在我的GAE数据库中存储整篇文章(字符串超过500个字符) Google API说.getvalue()将给出文本变量的值 但是如果我插入一个已经缩进和格式化的字符串。。当我使用.getValue()函数并在网页上打印文本时,我丢失了格式和空格 这是函数的代码,该函数向客户端返回一个HTML字符串,然后客户端将该HTML字符串附加到一个div并显示它 public void getArticle(int a
com.google.appengine.api.datastore.Text
在我的GAE数据库中存储整篇文章(字符串超过500个字符)
Google API说.getvalue()
将给出文本变量的值
但是如果我插入一个已经缩进和格式化的字符串。。当我使用.getValue()
函数并在网页上打印文本时,我丢失了格式和空格
这是函数的代码,该函数向客户端返回一个HTML字符串,然后客户端将该HTML字符串附加到一个div并显示它
public void getArticle(int articleId)
{
PersistenceManager pm = PMF.get().getPersistenceManager();
Articles a = pm.getObjectById(Articles.class,(articleId));
String html = "";
html += "<p>" + (a.getArticle()).getValue() + "</p>";
return html;
}
public-void-getArticle(int-articleId)
{
PersistenceManager pm=PMF.get().getPersistenceManager();
Articles a=pm.getObjectById(Articles.class,(articleId));
字符串html=“”;
html++=“”+(a.getArticle()).getValue()+””;
返回html;
}
您需要将HTML包装在
标记中以保留格式
html += "<p><pre>" + (a.getArticle()).getValue() + "</pre></p>";
即
html++=”“+(a.getArticle()).getValue()+””;
您的问题是浏览器会删除多余的空格和换行符。这与数据存储无关,如果您直接将内容放到网页上,就会发生这种情况
您可能需要将文本转换为html进行表示(即用替换换行符或将每个实际段落包装在标记中),或者如上所述使用保留格式的html元素 您可以通过标记或应用css样式的规则“空白:pre;”来实现这一点或“空白:前置行;”
您可以查看空白引用。在此页面上,您看到的行为在值“正常”下进行了描述。不应发生这种情况-
Text
保存大量字符流,并且不会对其进行格式化。尝试编写一个测试方法,将一个大字符串保存为文本
,然后将其读回并与原始字符串进行比较(使用.equals()
)。