2012-06-08 72 views
1

我想直接將我在java web webapp中爲JDO對象生成的Key用作我向用戶呈現的HTML文檔中的id屬性。如何將gae密鑰字符串轉換爲html id屬性字符串?

html id字符串不區分大小寫,必須以[a-zA-Z]開頭,然後才能包含[A-Za-z0-9-_]。當使用KeyFactory.keyToString(key)(Java)將谷歌應用程序引擎Key轉換爲字符串時,它會返回「一個網頁安全字符串,例如,該字符串可以安全地用作嵌入在HTML文檔中的URL參數。」

是否與html標識屬性格式兼容的java字符串中的websafe格式?

如果不是,兩種字符串格式之間轉換的最佳方式是什麼?所以,我可以有類似的兩種方法:

public static String htmlToGae(String htmlID){ ... } 
public static String gaeToHTML(String gaeID){ ... } 

if (gaeToHTML(htmlToGae(htmlID)) == htmlID) 
    return "thank you! :)"; 

一個簡單的「所有swanes是白色的試驗」似乎表明,網絡安全字符串的KeyFactory回報與HTML id屬性兼容:

for (int ii = 0; ii < 100; ii++) 
    out.println(KeyFactory.createKeyString("Document", "swan" + ii)); 
+0

正如@DanielRoseman所述,它可用。我自己做了。 –

回答

1

是的,這是完全可用的HTML標識。