Java 简单解决springmvc获取properties文件里面中文内容出现论码问题(我遇到的问题是数据提交检验时返回的错误提示出现乱码)

来源:互联网 发布:知斩藏书 编辑:程序博客网 时间:2024/05/04 04:36

Java 简单解决springmvc获取properties文件里面中文内容出现论码问题(我遇到的问题是数据提交检验时返回的错误提示出现乱码)(大神勿喷)

        我百度了很多方法,都没有解决properties文件返回的数据出现乱码问题,可能是我的eclipse的出了问题,我根据自己的想法和结合网上的方法解决了properties文件返回论码问题。

下面是我的demo界面

提交数据前界面

提交数据后界面


之前返回的是乱码的,经过我自己编码后就正常了,


这是我的properties文件内容




下面看代码了


    //TODO 商品信息修改提交
    @RequestMapping("/editItemsSubmit")
    public String editItemsSubmit(
            Model model,
            HttpServletRequest request,
            Integer id,
            @Validated ItemsCustom itemsCustom,
            BindingResult bindingResult) throws Exception {
    
        //获取检验错误信息
        if(bindingResult.hasErrors()){
            //输出错误信息
            List<ObjectError> allErrors=bindingResult.getAllErrors();//接受检验错误结果
            
            List<String> listErrors=new ArrayList<>();//自定义一个list接受自己编码后的提示字符串,在把自己定义的list传到界面,
            //这样就解决了把乱码传到界面的问题了

            for (ObjectError objectError : allErrors) {
                //输出错误信息
                /*System.out.println(objectError.getDefaultMessage());*/
                String strError=new String(objectError.getDefaultMessage().getBytes("ISO-8859-1"),"UTF-8"); //把返回错误的提示再次编码
                listErrors.add(strError);//把编码好的错误提示信息加自己定义好list集合里面去
                //错误提示信息如果没有出现乱码的话可以自己把   allErrors 这个错误结果直接返回界面的,
                //但是出现了乱码不能直接把结果返回界面,我不懂怎么样在界面编码所以只能在返回之前就解决乱码的问题
            }
            //通过形参中的model将model数据传到页面去
            //相当于modelandview.addObject方法
            model.addAttribute("allErrors", listErrors);
            return "items/editItems";//重新加载界面
        }}



下面看jsp界面代码



<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改商品信息</title>

</head>
<body>



    <!-- 显示错误信息 -->
    <c:if test="${allErrors!=null}">
        <c:forEach items="${allErrors}" var="error">
            <span>${error}</span>
            <br />
            <br />
            <!-- 循环获取自己定义的list错误信息 -->
            <%-- <span>map:${error.defaultMessage }</span> 如果不出现乱码的情况下是用这个来接受错误提示信息的  <br/><br/>  --%>
        </c:forEach>
    </c:if>




    <form id="itemForm"
        action="${pageContext.request.contextPath }/items/editItemsSubmit.action"
        method="post">
        <input type="hidden" name="id" value="${itemsCustom.id }" /> 修改商品信息:
        <table width="100%" border=1>
            <tr>
                <td>商品名称</td>
                <td><input type="text" name="name" value="${itemsCustom.name }" /></td>
            </tr>
            <tr>
                <td>商品价格</td>
                <td><input type="text" name="price"
                    value="${itemsCustom.price }" /></td>
            </tr>
            <tr>
                <td>商品生产日期</td>
                <td><input type="text" name="createtime"
                    value="<fmt:formatDate value="${itemsCustom.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>" /></td>
            </tr>
            <%-- <tr>
    <td>商品图片</td>
    <td>
        <c:if test="${item.pic !=null}">
            <img src="/pic/${item.pic}" width=100 height=100/>
            <br/>
        </c:if>
        <input type="file"  name="pictureFile"/>
    </td>
</tr> --%>
            <tr>
                <td>商品简介</td>
                <td><textarea rows="3" cols="30" name="detail">${itemsCustom.detail }</textarea>
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="提交" />
                </td>
            </tr>
        </table>

    </form>
</body>

</html>



教程到此结束,如果有不懂得地方请联系我QQ1095788063




2 0
原创粉丝点击