Web uygulamasında, kullanıcıların arama çalıştırırken freeText parametresine JavaScript eklemelerini engellemeye çalışıyorum.Bir Apache Velocity şablonunda bir sorgu dizesi nasıl değiştirilir?
Bunu yapmak için
Bu
benim kodudur: Yukarıdaki kodda#set($freeTextParameter = "$request.getParameter('freeText')")
freeTextParameter: $freeTextParameter
#if($freeTextParameter)
##Do the replacement:
#set($replacedQueryString = "$freeTextParameter.replace('confirm','replaced')")
replacedQueryString after doing the replace: $replacedQueryString
The query string now: $request.getQueryString()
The freeText parameter now: $request.getParameter('freeText')
#end
beklendiği gibi replacedQueryString değişken değişti (yani yedek beklendiği gibi yapılmıştır), ancak $ request.getQueryString() ve $ request.getParameter ('freeText'), daha önce olduğu gibi, sanki hiç bir zaman olmamış gibi.
Parametre almak için iyi çalışan bir request.getParameter yöntemi olduğu için, tersine aynı şeyi yapmak için request.setParameter yöntemi olacağını varsaydım, ancak yok.
Bu değiştirmeden ne beklediğinizi sorabilir miyim? (Tabii ki, eski olanın olduğu yeni bir dizgeye sahip olmaktan başka. Hangi süreci değiştirmek/önlemek istersiniz?) Ben soruyorum çünkü bunu yaptıktan sonra bunu yapmak için çok geç olabilir ** sonra * * bir istek ve ** sunucu taraflı **. – MyBrainHurts