У меня есть drop down, как показано ниже:
<html:select styleId="colorCodeId" property="msSpec.colorcodeId" name="Form" styleClass="form-control">
<option value="-1"></option>
<html:optionsCollection property="colorcodeList" style="background: <%=test1%>;"/>
</html:select>
в java-коде у меня есть:
List<LabelValueBean> colorcodeList = new ArrayList<LabelValueBean>();
for (Mty property : customPropertyList) {
LabelValueBean bean = new LabelValueBean(property.getName(), property.getId().toString());
if (property instanceof ColorCode) {
test1 = property.getName();
System.out.println("test1: " + test1);
colorcodeList.add(bean);
}
}
Возможно ли, что я определяю test1, как указано выше, и использую это как фоновый цвет в моем раскрывающемся списке? Сейчас это не работает. Есть идеи?
Вы можете использовать выражение JSP EL вместо переменной. Причина заключается в том, чтобы удалить скрипты из вашего кода.
<html:select styleId="colorCodeId" property="msSpec.colorcodeId" name="Form" styleClass="form-control" style="${test1}">
<option value="-1"></option>
<html:optionsCollection property="colorcodeList" />
</html:select>
В действии вы пишете
List<LabelValueBean> colorcodeList = new ArrayList<LabelValueBean>();
for (Mty property : customPropertyList) {
LabelValueBean bean = new LabelValueBean(property.getName(), property.getId().toString());
if (property instanceof ColorCode) {
test1 = property.getName();
System.out.println("test1: " + test1);
request.setAttribute("test1", "background: "+test1+";");
colorcodeList.add(bean);
}
}
Язык выражения JSP не может использовать переменные Java, объявленные в пользовательском Java-коде.
"Переменные", которыми может обладать язык выражения JSP, на самом деле являются атрибутами, установленными в одной из четырех "областей", которые определяются структурой JSP/Servlet; т.е. "сеанс", "запрос", "страница" и "приложение".
Вы можете получить и установить эти атрибуты из Java; например
// Request scope
request.getAttribute("test1");
request.setAttribute("test1", someValue);
Чтобы получить больше информации:
Когда я добавляю запрос в свой код Java, он говорит, что запрос не может быть разрешен. следует импортировать библиотеку?
Если ваш код встроен в JSP, request
должен быть объявлен.
В противном случае замените request
именем переменной, которая ссылается на объект HttpServletRequest
для текущего запроса.