【发布时间】:2012-11-19 05:40:25
【问题描述】:
我尝试通过以下方式从 http 表单提交一些信息:
<form method="GET" action="/springhibernate/notes/addComment">
<textarea rows="10" cols="30" name="content" placeholder="type comment here"></textarea>
<input type="hidden" name="note.id" value=<c:out value="${note.id}"/>/>
<input type="submit" class="button" value="send comment"/>
</form>
Spring 框架将此提交请求映射到控制器
@RequestMapping(value = "notes/addComment", method = RequestMethod.GET)
public String addComment(@RequestParam("content") String content, @RequestParam("note.id") String parent_id, ModelMap model) throws UnsupportedEncodingException {
Long note_id = notesService.addComment(content, Long.valueOf(parent_id));
return "redirect:viewNote/" + parent_id;
}
结果我在内容变量中有:?°?±???????µ。
问题仅出现在非拉丁字符上。
JSP 页面包含:
【问题讨论】:
-
对于哪个参数你得到那个垃圾值?
-
字符编码是 servlet 应用程序中的噩梦。我建议您从 tomcat 文档中阅读此页面,该文档解释了许多与所有 java web 容器相关的怪癖:wiki.apache.org/tomcat/FAQ/CharacterEncoding
-
Bhavik Ambani, @RequestParam("content") 字符串内容 = ?°?±???????µ
-
几个小时前我遇到了类似的问题。请看一下[这里][1]。 [1]:stackoverflow.com/questions/13429112/…