解決Spring3.0 MVC @ResponseBody Ajax返回中文亂碼__Ajax

來源:互聯網
上載者:User

主要是要注意spring-mvc.xml(spring 的 controller設定檔)中的相關配置項

<!-- 只掃描@Controller --><context:component-scan base-package="cn.com.sunnyrock.vimes.portal" use-default-filters="true"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!--編碼轉換,其預設為ISO-8859-1--><bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">        <property name="cacheSeconds" value="0" />       <property name="messageConverters"> <list>             <bean class = "org.springframework.http.converter.StringHttpMessageConverter">                <property name = "supportedMediaTypes">                      <list>                          <value>text/html;charset=UTF-8</value>                     </list>                </property>             </bean>         </list></property>    </bean>
<!--annotation自動注入,這個配置很重要--><bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
        <!--必須去掉這個配置項 <mvc:annotation-driven /> -->

Controller中的方法

@RequestMapping(value = "/feedback", method = RequestMethod.POST)public @ResponseBodyString feedback(HttpServletRequest request, HttpServletResponse response, FeedbackModel feedback) throws Exception{//TODOreturn "非常感謝您對我們提出的寶貴意見或建議";}

JSP中的Ajax調用(這裡使用了jquery.form.js這個plugin)

var feedbackAdviceForm = "#feedbackAdviceForm";
$(feedbackAdviceForm).submit(function() {if($.trim($("#advice",feedbackAdviceForm).val())==""){alert("請輸入您的寶貴意見或建議。");$("#advice",feedbackAdviceForm).focus();return false;}$(this).ajaxSubmit({success: function(msg) {alert(msg);},error: function(context, xhr) {alert(context.responseText);}});});
 
<form id="feedbackAdviceForm" name="feedbackAdviceForm" action="<%=rootPath %>/member/feedback.html" method="post" onSubmit="return false;"><p><label for="advice">請輸入您的寶貴意見或建議</label><br> <textarea id="advice" name="advice" rows="3" cols="20"style="width: 200px; height: 120px;"></textarea></p><p><input type="submit" value="提交"></p></form>


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.