bean.getValue () тянет только часть значения, а не все значение - PullRequest
2 голосов
/ 23 апреля 2011

В настоящее время я использую javaBean для сохранения / загрузки значений в и из jsp.Вот что происходит:

У меня есть следующая строка в моем jsp:

<td><input class="partDescription" name="partDescription" style="width: 250px" type="text" readonly="readonly" value=<%=affectedBean.getPartDescription().get(i) %> /></td> 

Когда я отлаживаю с помощью кода, это значение сохраняется в disabledBean.getPartDescription с индексом 0: BK SLOPECONTROLLER

Однако, когда страница завершает загрузку, единственное, что она показывает, находится в этом месте: BK

Другие примеры:

Значение: ROLF REDESIGNED UL SUPPLY;Дисплеи: ROLF
Значение: 18 ДАТЧИК ТОПЛИВА;Дисплеи: 18

У кого-нибудь есть идеи

1 Ответ

0 голосов
/ 23 апреля 2011

В элементах HTML пробелы являются специальным символом-разделителем для таких атрибутов элемента HTML, как type, value и т. Д.

При печати значений атрибутов без двойных кавычек, как следует

<input type="text" value=<%=affectedBean.getPartDescription().get(i) %> />

тогда сгенерированный HTML заканчивается как

<input type="text" value=BK SLOPE CONTROLLER />

Все части за пределами пространства интерпретируются как другие атрибуты. Немного интеллектуальная подсветка синтаксиса должна уже включить свет над вашей головой. Окрашено по-разному!

Итак, вам нужно поставить кавычки вокруг значения

<input type="text" value="<%=affectedBean.getPartDescription().get(i) %>" />

, чтобы сгенерированный HTML-код заканчивался как

<input type="text" value="BK SLOPE CONTROLLER" />

Не связано с конкретной проблемой, использование скриптлетов - не рекомендуется , вы должны предпочесть использовать taglibs / EL Предполагая, что вы указали affectedBean в качестве атрибута запроса, сделайте так:

<c:forEach items="${affectedBean.partDescription}" var="partDescription">
    <input type="text" value="${partDescription}" />
</c:forEach>
...