2012-03-05 151 views
0

如何获取位于jsp页面中的java对象内的数组值?Java对象内部的访问数组

我已经设置对象属性,以便在JSP页面中我可以打电话像这样

${obj.property} 

对象我的问题是如何从obj对象索取财物的String []的例子吗?

<c:forEach var="prop" items="${obj.example}"> 
       <td>${prop}</td> 
</c:forEach> 

我得到的错误,告诉我的类obj.Obj不具有财产属性“示例” ,显然我没有得到的数据出来。

实际的错误:

org.apache.jasper.JasperException:javax.el.PropertyNotFoundException:类 'roommate.Roommate' 没有财产 'favProfessors'。

javax.el.PropertyNotFoundException:类 'roommate.Roommate' 没有财产 'favProfessors'

而我实际的类:我创造我的servlet对象以及

package roommate; 

public class Roommate{ 
    public String firstname; 
    public String lastname; 
    public String gender; 
    public String place; 
    public String[] favProfessors; 





public Roommate(String fname, String lname, String roommateGender, String hangout,String[] professors) { 
     firstname= fname; 
     lastname= lname; 
     gender= roommateGender; 
     place= hangout; 
     favProfessors= professors; 

    } 



    public String getFirstname() 
    { 
     return firstname; 

    } 

    public void setFirstname(String newFirstname) 
    { 
     this.firstname = newFirstname; 
    } 
    public String getLastname() 
    { 
     return lastname; 

    } 
    public void setLastname(String newLastname) 
    { 
     this.lastname = newLastname; 
    } 
    public String getGender() 
    { 
     return gender; 

    } 
    public void setGender(String newGender) 
    { 
     this.gender = newGender; 
    } 
    public String getHangout() 
    { 
     return place; 

    } 
    public void setHangout(String newPlace) 
    { 
     this.place = newPlace; 
    } 
    public String[] getProfessors() 
    { 
     return favProfessors; 

    } 
    public void setProfessors(final String[] newfavProfessors) 
    { 
     this.favProfessors = newfavProfessors; 
    } 

    public void addRoommate(String fname, String lname, String roommateGender, String hangout,String[] professors) 
    { 

    } 

} 

屁股Atrribute

String [] profArray = request.getParameterValues("professor"); 

     Roommate roommate= new Roommate(
       session.getAttribute("fname").toString(), 
       session.getAttribute("lname").toString(), 
       session.getAttribute("gender").toString(), 
       session.getAttribute("hangout").toString(), 
       profArray); 


     session.setAttribute("roommate",roommate); 

我刚刚问过,但没有收到明确的答案。我想我的问题是在我的forEach,我在上面

+0

http://stackoverflow.com/questions/5088625/how-to-get-an-object-of-java-class-from-jsp – austin 2012-03-05 02:08:45

+0

在未来的问题中,只要你不要显示混淆代码,了解正在发生的事情,并没有执行/测试它。而是显示您真正执行/测试过的**真实**代码。你以前的问题包含*正确的*代码。不要问过分广泛的问题。用真实而具体的代码问一个关于你真实和具体问题的问题。 – BalusC 2012-03-05 02:19:04

+0

实际上我之前的问题并不是真正的代码..这个问题中的最后两个代码片段是真实代码 – user975044 2012-03-05 02:23:14

回答

0

javax.el.PropertyNotFoundException提到单独拉出来的数据在jsp:类“roommate.Roommate”没有财产“favProfessors”

Java是对的。您没有该类中的getFavProfessors()方法。这是不是以下:

public String[] getProfessors() 
{ 
    return favProfessors; 

} 

你有2种选择:使用${roommate.professors}代替,或修复getter方法名是getFavProfessors()

与大多数初学者认为的不同,EL不直接访问私有属性。 EL根据Javabeans specification调用公共的getter/setter方法。背后真正的私人财产可以有完全不同的名称,甚至根本不存在。