는 EL

2012-11-20 3 views
0
설정 HTML 양식에서 서블릿에 요청 매개 변수를 얻기

나는 다음과 같은 EL/html 태그와 JSP 있습니다는 EL

내 JSP가 렌더링
<c:forEach var="key" items="${resource.stringPropertyNames()}"> 
    <tr> 
     <td>${key}</td> 
     <td><input type = "text" name = "${key}" value = "${resource.get(key)}"></td>       
    </tr> 
    </c:forEach> 

는 첫 번째 <td> 태그의 평가 값을 보여줍니다 $ {key}. 그러나 <input> 태그에서 $ {key}는 올바르게 계산되지 않습니다. 내 서블릿 (request.getParameter(StringKey))에서 요청 매개 변수로 입력을 검색하려고하면 중괄호없이 리터럴 $key이 표시됩니다. request.getParameter("$key")을 할 때 ${resource.get(key)}이 EL에서 평가하는 문자열에 대해 여러 값을 얻습니다.

무슨 일입니까?

편집

컨트롤러 방법 (사용 봄) 코드 :

@RequestMapping(value = URI_PATH + "{fileName}", method = RequestMethod.GET) 
    public String getProperties(@PathVariable String fileName, ModelMap modelMap) { 
     Properties resource = ..//get properties file 
     modelMap.addAttribute("resource", resource); 
     return "configuration" // maps to my jsp; 
    } 
+0

를 사용하여 설정되는지도 인 경우 페이지의 소스 코드 (페이지 소스보기)로 이동하여 질문에 붙여 넣으십시오. – gmustudent

+0

''태그는 ''으로 평가됩니다. EL 값은 올바른 값을 갖지만 이름은 그렇지 않습니다. –

+0

서블릿에서 속성을 설정하는 경우에는 .xml로 호출 할 필요가 없습니다. – gmustudent

답변

1

자원이 나는 경우 귀하의 질문에 명확하게 대답 할 수 request.setAttribute("resource", resource)

<c:forEach var="entry" items="${resource}"> 
<tr> 
    <td>${entry.key}</td> 
    <td><input type = "text" name = "${entry.key}" value = "${entry.value}"></td>       
</tr> 
</c:forEach> 
+0

이것은 효과적이었고 내가 EL에서 할 수있는 것을 모른지만, 왜 내 것이 아니 었는지 설명하지 않습니다. –