2009-11-10 7 views
1

JSP의 bean 속성에 어떻게 액세스 할 수 있습니까?
난 headerList가 속성 COLUMNNAME에서 myBean의 목록JSP에서 bean 속성에 액세스하는 방법은 무엇입니까?

<core:forEach var="header" items="${command.headerList}" > 
<td><core:out value="${header.columnName}"/></td> 
</core:forEach> 

Expected: 그것은 COLUMNNAME의 값을 출력한다 [게터/세터 클래스로 정의 된]을 시도
Actual: 전혀 인쇄되지 않습니다.

어떻게 n 번째 요소에 액세스 할 수 있습니까? 목록에 있습니까? 나는 시도했다

${command.headerList[i]} 

Output: 아무것도 표시되지 않았습니다.

편집 : 내가

${command.headerList} 

[email protected], [email protected], [email protected]를 표시 쓰기 #

This is just to let you know that the list is having something

내가 쓰기

이 표시 foreach 루프 내부
${header} 

:

[email protected]d9d714

That means even header is having value, then why i am unable to print values using

${header.columnName} 

답변

3

header은 (HTTP) 헤더를 요청하는 매핑 된 JSP의 내장 객체이다. 암시 적 객체의 전체 목록은 the JSP spec을 참조하십시오.

저장 한 범위와 관련하여 콩을 참조하십시오 (예 : requestScope.header). 이름을 다른 것으로 변경하는 것이 바람직합니다.

+0

+1 : 그 덕분에! – BalusC

+0

오 마이 갓, 지금 무슨 말해야할지. :) 나는'header'를'header1'으로 바꾸었고 효과가있었습니다. +10 만약 내가 할 수 :) –

1

우리가 어떻게 액세스 할 수있는 JSP의 bean 속성? 난 headerList는 속성 COLUMNNAME 데에서 myBean 목록 [게터/세터 클래스에 정의]

잘 보인다는

<core:forEach var="header" items="${command.headerList}" > 
<td><core:out value="${header.columnName}"/></td> 
</core:forEach> 

시도. 대신 무엇이 발생합니까?

어떻게 목록의 n 번째 요소에 액세스 할 수 있습니까? 제가

${command.headerList[i]} 

만큼 i 초기화와 같은 범위에서 잘 보이는 시도. 대신 무엇이 발생합니까?

나는

[email protected], [email protected], [email protected] 

그것은 꼬리에 앞에 []을 포함해야 표시하지만 남은 것이만큼 잘 보이는

${command.headerList} 

쓸 때 MyBean 클래스에 Object#toString()을 덮어 쓰지 않았습니다. 너는 무엇을 기대 했는가?

하고 난 foreach 루프 내부

${header} 

물품 때 표시

[email protected]d9d714 

잘 보인다. 너는 무엇을 기대 했는가?

요약 : 귀하의 문제를 이해하지 못합니다. 더 자세히 설명해주세요. SSCCE를 게시하십시오. 예상되는 입/출력에 대해 알려줍니다. 실제 입/출력에 대해 알려주십시오.

을 편집하면 질문이 편집되었습니다. 음, 여기에 업데이트 된 답변이 있습니다.

${header.columnName} 

예상 : 그것은 COLUMNNAME
실제의 값을 인쇄해야합니다 : 그 다음 실제로 값이 포함되지 않은 모든

에 아무것도 인쇄되지 않습니다. 제대로 테스트 다음과 같은 Object#toString() 뭔가 무시하려면 :

public String toString() { 
    return "header[" + columnName + "]"; 
} 

을 그리고 ${command.headerList}를 사용하여 테스트합니다. System.out 또는 Logger 문을 getter 메서드에 추가하여 실제로 호출되었는지 여부를 확인하고 실제로 값이 반환되는지 확인할 수도 있습니다. 또는 사용법을 이해한다면 코드 디버거를 실행하십시오. 괜찮은 IDE는 모두 함께 제공됩니다.

다음 :

${command.headerList[i]} 

출력 : 아무것도 표시되지 않습니다.

유효한 방법은 없습니다. i. 제대로 테스트하려면 첫 번째 항목을 얻으려면 다음을 수행하십시오

${command.headerList[0]} 
관련 문제