我在填充组合框时遇到问题。
我在JSP文件中使用以下代码:
<select style="width: 143px" name="selectedUser">
<c:forEach var="user" items="${userList}">
<option value='<c:out value="${user.id}"/>'>
<c:out value="${user.name}" />
</option>
</c:forEach>
</select>
但是当我运行Web应用程序时,我的组合框是空的。
使用scriptlet时工作正常:
<select style="width: 143px" name="selectedUser">
<%
for (Korisnik user : userList) {
String userValue = user.getSurname() + " " + user.getName();
out.write("<option value='" + user.getId() + "'>"
+ userValue + "</option>");
}
%>
</select>
此外,我希望使用姓氏+名称的字符串填充组合框,如scriptlet中所示。为什么我的JSPL代码不起作用,如何在JSTL中使用姓氏和名称填充它。
感谢您的帮助,谢谢
修改
package hr.tvz.web.aplikacije.domain;
班级Korisnik:
package hr.tvz.web.aplikacije.domain;
public class Korisnik {
private int identifikator;
private String korisnickoIme;
private String ime;
private String prezime;
public Korisnik(int identifikator, String korisnickoIme, String ime,
String prezime) {
super();
this.identifikator = identifikator;
this.korisnickoIme = korisnickoIme;
this.ime = ime;
this.prezime = prezime;
}
public int getIdentifikator() {
return identifikator;
}
public String getKorisnickoIme() {
return korisnickoIme;
}
public String getIme() {
return ime;
}
public String getPrezime() {
return prezime;
}
}
答案 0 :(得分:0)
无需使用<c:out>
。试着用这个:
<select style="width: 143px" name="selectedUser">
<c:forEach var="user" items="${userList}" >
<option value="${user.id}" />
${user.surname} ${user.name}
</option>
</c:forEach>
</select>
我在我的项目中测试了类似的东西,它对我来说很好。希望对你也有所帮助。
答案 1 :(得分:0)
我很感激所有的帮助。 我发现问题出在哪里,我现在觉得很傻。我一直在使用scriptlet从servlet获取属性,在用相同的JSTL代码替换scriptlet后,它就像它应该的那样工作。
答案 2 :(得分:0)
<select style="width: 143px" name="selectedUser">
<c:forEach var="user" items="${userList.rows}">
<option value='<c:out value="${user.id}"/>'>
<c:out value="${user.name}" />
</option>
</c:forEach>
</select>
现在,您可以尝试一下。