Значения флажка и тег useBean - PullRequest
       20

Значения флажка и тег useBean

0 голосов
/ 21 сентября 2009

Я новичок в JSTL, поэтому, возможно, этот вопрос покажется вам смешным. В любом случае, у меня есть модель со свойством List как, и я хотел бы заполнить ее списком значений (выбранных из списка флажков). Я использую тег useBean на странице jstl для обработки форм, но делаю это:

<jsp:useBean id='subscription' class='Subscription'>
<c:set target='${subscription}' property='priviledge' value='${param.priviledge}'/>

Если свойство привелигирования является списком, а $ param.priviledge - значениями ряда флажков, я получаю

javax.servlet.jsp.el.ELException: Attempt to convert String "ads"  to type "[Ljava.lang.String;", but there is no PropertyEditor for that type

«реклама» - одно из выбранных мной значений. Я думал, что значения поля привилегий уже были списком, но, похоже, он работает по-другому. Я попытался перебрать объект $ param.priviledge, и я получил все значения без проблем.

Как я могу использовать этот список для заполнения списка?

Спасибо за любую помощь. Roberto

1 Ответ

1 голос
/ 21 сентября 2009

Попытка преобразовать строку "ads" в тип "[Ljava.lang.String;"

Эта ошибка предполагает, что установщик имеет значение setPriviledge(String[] arr), а не java.util.List.

Значения на карте param являются строками;чтобы получить все значения в виде массива, используйте карту paramValues.

${paramValues.priviledge}

Свойство компонента Subscription должно быть массивом String:

  private String[] priviledge;

  public String[] getPriviledge() {
    return priviledge;
  }

  public void setPriviledge(String[] priviledge) {
    this.priviledge = priviledge;
  }

(Я не знаю, упростили ли вы код для публикации здесь, но вам не следует использовать пакет по умолчанию - многим веб-серверам он не понравится и он не сможет создать экземпляр вашего класса Subscription.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...