jspx'i şablon motoru olarak kullanıyoruz. $ {User.firstName} veya "$ {mail.subject}" gibi yüzlerce el ifadesi içeren bir düzine ekranımız var.JSP/JSPX'deki HTML varlıklarından kaçış: Var olmayan bir sorun için çözüm yok mu?
Tüm bu HTML kodları varsayılan olarak kaçmıyor. . - alanında "Orada < bir şey olabilir ya istiyorsanız ekran başarısız olur Biz her zaman fn kullanabilirsiniz: escapeXML ama gerçekten sıkıcı her yerde bunu yaparken
1) mu varsayılan olarak kaçış yapmak için bir yolu yoktur. ?
bildiğim tek yolu (tomcat için jasper gibi) JSP derleyici kesmek etmektir. Ama gitmek için bir yol değildir.
birileri el içinde kaçamayan HTML ihtiyaç her zamankinden olabilir Neden2) ? saklanması HTML şablonun dışında (örneğin veritabanında) iyi bir uygulama yoktur.) Eminim, şablon motorunun otomatik olarak (XSLT'de yapıldığı gibi) ele alması gerektiğinden eminim, neden kullanıcı bunu önemsemeli? El ile kaçma (fn: escapeXml), SQL el ile kaçma (JDBC setParam yerine kullanılan) gibi kokuyor: sql-injection için boilerplate kodu ve iyi bir yer (bizim durumumuzda siteler arası komut dosyası oluşturma).
Teşekkürler! Biz struts + jspx kullanıyoruz, yüzleri kullanmak istemiyoruz - bu farklı bir teknolojidir. 1) intellij fikrini kullanıyoruz ve tüm elementleri değiştirebiliyoruz ama bu şekilde sevmiyoruz. 2) kaçmak VIEW meselesidir ve veritabanında değil, görünüm katmanında çözülmelidir. 3) Bunu yapmak için kapsayıcımı kesmem gerekiyor. Özel ELResolver'imi kaydedebilirim ancak zincirde kullanacağım, diğer tüm çözücüleri devre dışı bırakamıyorum ya da kapatamıyorum (hatta onlara bile işaret bile edemiyorum - JSP EL API'si çok kötü). 4) Destekleri kullanırız. Jsp görünümlerini çözmek için ServletDispatcher'ı kullanır. Biz onun EL ile oynayabiliriz ama ben –
çalışır emin değilim, sonra mermi ısırmak. Bunun için ödeme aldın. Bir dahaki sefere dersi öğren. – BalusC
JSP'yi kullanmamanın, Scalate, Velocity veya Freemaker gibi farklı bir görüntüleme teknolojisinin eklenmesini ekleyebileceğiniz 5. bir seçenek olduğunu düşünüyorum. Bu şablon dilleri için çapraz kesim yapmak daha kolaydır. –