我有一个带有以下 EL/html 标签的 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>
当我的 jsp 被渲染时,第一个<td>
标签显示 ${key} 的评估值。然而,在<input>
标签中,${key} 没有被正确评估。当我尝试从我的 servlet ( request.getParameter(StringKey)
) 中检索输入作为请求参数时,我得到的文字$key
没有大括号。当我这样做时,我会得到在 ELrequest.getParameter("$key")
中计算为的字符串的多个值。${resource.get(key)}
到底是怎么回事?
编辑
控制器方法(使用spring)代码:
@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;
}