Java 如何将gae密钥字符串转换为html id属性字符串?
我想在JavaGoogleWebApp中直接使用为JDO对象生成的键作为html文档中的id属性,并将其呈现给我的用户 html id字符串不区分大小写,必须以Java 如何将gae密钥字符串转换为html id属性字符串?,java,html,google-app-engine,Java,Html,Google App Engine,我想在JavaGoogleWebApp中直接使用为JDO对象生成的键作为html文档中的id属性,并将其呈现给我的用户 html id字符串不区分大小写,必须以[a-zA-Z]开头,然后可以包含[a-zA-z0-9-.]。当使用KeyFactory.keyToString(Key)(Java)将google应用程序引擎键转换为字符串时,它返回“一个websafe字符串。例如,该字符串可以安全地用作嵌入HTML文档中的URL参数。” java字符串格式的websafe格式是否与html ID属性格
[a-zA-Z]
开头,然后可以包含[a-zA-z0-9-.]
。当使用KeyFactory.keyToString(Key)
(Java)将google应用程序引擎键转换为字符串时,它返回“一个websafe字符串。例如,该字符串可以安全地用作嵌入HTML文档中的URL参数。”
java字符串格式的websafe格式是否与html ID属性格式兼容
如果不是,那么在两种字符串格式之间转换的最佳方式是什么?所以我可以有两种类似的方法:
public static String htmlToGae(String htmlID){ ... }
public static String gaeToHTML(String gaeID){ ... }
if (gaeToHTML(htmlToGae(htmlID)) == htmlID)
return "thank you! :)";
一个简单的“所有Swane都是白色”测试似乎表明KeyFactory返回的websafe字符串与html id属性兼容:
for (int ii = 0; ii < 100; ii++)
out.println(KeyFactory.createKeyString("Document", "swan" + ii));
for(int-ii=0;ii<100;ii++)
out.println(KeyFactory.createKeyString(“Document”,“swan”+ii));
是的,它完全可用作HTML id。是的,它完全可用作HTML id。正如@DanielRoseman在下面所述,它是可用的。我自己做的。正如@DanielRoseman在下面所说的,它是可用的。我自己做的。