我对JSP非常陌生,我们本周才开始上课。我为完成学业所需的任务遇到了问题。
<c:forEach var="tempGebruiker" items="${gebruikers}">
<!-- Per gebruiker wordt nu een rij aangemaakt met daarin zijn gegevens -->
<tr>
<td>
${tempGebruiker.name}
</td>
<td>
${tempGebruiker.streetAddress}
</td>
<td>
${tempGebruiker.huisnummer}
</td>
<td>
${tempGebruiker.city}
</td>
<td>
${tempGebruiker.rol}
</td>
<td>
<a href="gebruikers/wijzig?id=${tempGebruiker.customerNumber}">Wijzig</a> |
<a href="javascript:if(confirm('Weet u het zeker dat u deze gebruiker wil verwijderen?'))
window.location='gebruikers/verwijder?id=${tempGebruiker.customerNumber}';">Verwijder</a>
</td>
</tr>
</c:forEach>
在这部分:
<td>
${tempGebruiker.rol}
</td>
返回角色对象,但我需要它来显示该对象的名称。如下:tempGebruiker.getRol().getName();
我如何使用EL实现这一目标?
编辑: 角色bean
public class Role implements Serializable {
private long id;
private String name;
public long getId() {
return id;
}
public String getName() {
return name;
}
public void setId(long id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return this.name;
}
}
用户bean
public class User implements Serializable {
private long customerNumber;
private String name;
private String streetAddress;
private String city;
private int huisnummer;
private Role rol;
public User() {
}
public User(long customerNumber, String naam, String straatnaam, int huisnummer, String stad, Role rol) {
this.setCustomerNumber(customerNumber);
this.setName(naam);
this.setStreetAddress(straatnaam);
this.setCity(stad);
this.setHuisnummer(huisnummer);
this.setRol(rol);
}
/* Getters en setters voor de verschillende attributen van het Model */
public long getCustomerNumber() {
return customerNumber;
}
public Role getRol() {
return rol;
}
public void setRol(Role rol) {
this.rol = rol;
}
public int getHuisnummer() {
return huisnummer;
}
public void setHuisnummer(int huisnummer) {
this.huisnummer = huisnummer;
}
public void setCustomerNumber(long customerNumber) {
if (customerNumber < 1) {
throw new IllegalArgumentException(
"Customer number may not be negative, value = " + customerNumber);
}
this.customerNumber = customerNumber;
}
public String getName() {
return name;
}
public void setName(String name) {
if (name == null) {
throw new NullPointerException("Customer name may not be empty");
}
this.name = name;
}
public String getStreetAddress() {
return streetAddress;
}
public void setStreetAddress(String streetAddress) {
this.streetAddress = streetAddress;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
答案 0 :(得分:0)
${tempGebruiker.rol.name}
getter getXxx()
或(boolean)isXxx
将变为选择器.xxx
。
您也可以使用方法:
${tempGebruikder.isInRole('Admin')}
评论后:
您似乎尝试过正确的事情,也许比较我的解决方案&#34;下面关于豆子:
public class Gebruiker {
public Role getRol() {
return "actor";
}
}
public class Role {
public String getName() {
return "";
}
}
您可以尝试:
<td>XXX <c:out value="${tempGebruiker.rol}" escapeXml="true"/> YYY</td>
<
和其他XML(HTML)字符。toString()
值。答案 1 :(得分:0)
试试这个:
<td>
${tempGebruiker.rol.name}
</td>