[英]Struts 2. s:property. How to get the value of a variable whose name is passed as a parameter to the jsp?
[英]Get object parameter's name in JSP
對於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實現這一目標?
編輯:角色豆
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;
}
}
${tempGebruiker.rol.name}
getXxx()
或(boolean) isXxx
將被轉換為選擇器.xxx
。
您也可以使用以下方法:
${tempGebruikder.isInRole('Admin')}
評論后:
您似乎已經嘗試了正確的方法,也許在下面的bean中比較我的“解決方案”:
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()
值。 嘗試這個:
<td>
${tempGebruiker.rol.name}
</td>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.