Имам XPage, която предава информация на друга XPage под формата на URL параметър (това е важно поради SEO). Мога да използвам: java.net.URLEncoder.encode
за кодиране на URL адреса и след това мога да имам амперсанд в стойността на параметъра си и мога да използвам само param.get()
, за да получа стойностите, без да ги декодирам. Това работи добре, но когато комбинирам това със заместване от страна на сървъра, не работи според очакванията, връща амперсанда обратно към нормален амперсанд, а не към %26. Всякакви идеи тук наистина ще бъдат оценени? Заместването от страна на сървъра е важно и поради SEO.
Актуализация:
Това е URL адресът преди изпращането, както се показва в адресната лента (ако приемем, че моята категория е Плодове и зеленчуци):
/product-byCategory/Fruit+%26+Vegetables
Правилото за заместване от страна на сървъра е:
- /product-byCategory/*
- /mywebsite.nsf/xspProductByCat.xsp?cat=*
Стойността на низа на заявката е:
cat=Fruit+&+Vegetables
Интересното е, че ако напиша този URL в адресната лента, получавам правилния низ на заявката:
http://www.mywebsite.com/mywebsite.nsf/xspProductByCat.xsp?cat=Fruit+%26+Vegetables