Wicket 6.2 AbstractDefaultAjaxBehavior getCallbackUrl больше не разрешает переменные JS
Недавно я работал над обновлением большого веб-приложения, которое использовало wicket 1.4.18 до 6.2. У нас была ситуация, когда мы создавали переменные javascript для отслеживания позиционирования в списке перетаскивания. Это только часть кода, поскольку js всегда работал и не менялся.
ListItem.add(new AbstractDefaultAjaxBehavior()
{
private static final long serialVersionUID = 1L;
@Override
public void onComponentTag(ComponentTag tag)
{
tag.put("ondrop", "var value = $(ui.item[0]).attr('hiddenvalue');"
+ this.getCallbackScript());
}
@Override
public final CharSequence getCallbackUrl()
{
return super.getCallbackUrl() + "&hiddenvalue' + value + '";
}
}
Однако проблема, с которой я сталкиваюсь, заключается в том, что переменные javascript не разрешаются в значения и теперь воспринимаются как буквенные строки (например, «значение» вместо 5) в getCallbackUrl. В калитке 1.4.18 такого не было, и я не думаю, что эта проблема возникла при переходе на 1.5.8.
В конце концов, мы просто хотим получить значение, используя
@Override
protected void respond(AjaxRequestTarget target)
{
getRequest().getRequestParameters().getParameterValue("hiddenvalue");
}
Любой совет по этому поводу? Я надеюсь, что предоставил достаточно информации. Заранее благодарю за любую помощь. Некоторые из них немного за пределами моего понимания и могут быть пугающими, не зная, где искать.