JSP에서 Java 객체 사용
-
12-09-2019 - |
문제
<c:set var="nameLookup" value="${names}" />
<c:forEach var="result" items="${results}">
<tr>
<td>${result.uglyDisplayName}</td>
<td>${result.phonenum}</td>
</tr>
</c:forEach>
이것은 편집하려는 JSP의 발췌입니다.
결과는 a입니다 List<Object>
컨트롤러에서 ModelandView에서 반환되는데 Object
a getUglyDisplayName
그리고 getPhonenum
. 나는 그것이 어떻게 작동하는지 명확하지 않습니다. 나는 JSP가 일부를하고 있다고 생각합니다 getClass().getName()
아니면 무대 뒤에서 뭔가? 그 과정에 대한 모든 포인터는 깨달을 것입니다. 어쨌든, 그 부분은 작동하고 있습니다.
컨트롤러에서 ModelandView에서 반환 할 다른 객체를 추가했습니다. 못생긴 디스플레이 이름이 키인 더 좋은 디스플레이 이름을 가진 해시 맵입니다. 그래서 첫 번째 TD를 다음과 같은 것으로 바꾸고 싶습니다.
<td>${nameLookup.get(result.uglyDisplayName)}</td>
이것은 분명히 작동하지 않거나 여기에 게시하지 않을 것입니다. 나는 ModelandView에 HashMap을 (상단 라인)에 넣은 이름으로 Var를 설정했지만 그 객체를 얻는 올바른 방법인지 확실하지 않습니다.
해결책
첫 번째 부분 ( "JSP가하는 일")은 JSP 표현 언어.
두 번째 부분의 경우 시도해보십시오.
<td>${nameLookup[result.uglyDisplayName]}</td>
나는하고 싶지 않다 욕을 하다 작동합니다 (JSP를 사용한 지 오래되었습니다). 시도해 볼 가치가 있습니다.
제휴하지 않습니다 StackOverflow