ps:今天遇到一個問題,從數據庫讀取一個字符串,然后在jsp用EL表達式顯示時,因為數據庫原始數據是帶有HTML標簽的,所以顯示的時候會把標簽直接轉換成HTML,但是我想要的是HTML標簽字符串,所以就需要轉義。下圖是HTML轉義對照表:
如上圖,只要將數據庫里面的中包含<>符號替換成轉義符就可以實現在頁面輸出標簽了。
1、數據庫表如下:
2、REPLACE(str,str_from,str_to)函數,replace函數是mysql里面的一個字符串替換函數,參數str代表數據庫原字段,參數str_from代碼替換前的字符串,str_to代表替換后的字符串。
如上圖如果要替換“<”和“>”,sql語句為:
UPDATE table_b SET address=REPLACE(address,'<','<'),address=REPLACE(address,'>','>')
WHERE address LIKE '%<%' OR address LIKE '%>%';
3、這里建議使用十進制的轉義符,網上說十進制的轉義符可以被多數瀏覽器識別,具體情況本人沒有測試過,如有興趣可以自己試試。