我想直接使用为我的 java google webapp 中的 JDO 对象生成的密钥作为我呈现给我的用户的 html 文档中的 id 属性。
[a-zA-Z]
html id 字符串不区分大小写,必须以[A-Za-z0-9-_]
. 当使用 (Java) 将谷歌应用引擎密钥转换为字符串KeyFactory.keyToString(key)
时,它会返回“网络安全字符串。例如,此字符串可以安全地用作嵌入 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! :)";
一个简单的“所有天鹅都是白色的”测试似乎表明 KeyFactory 返回的网络安全字符串与 html id 属性兼容:
for (int ii = 0; ii < 100; ii++)
out.println(KeyFactory.createKeyString("Document", "swan" + ii));