将数字表示转换为人类可读字符串

时间:2017-04-20 15:00:54

标签: java spring spring-mvc

我的数据库中有数据,表示如下:

привет

它通常在页面上查看(привет),例如:

<h1 class="alert alert-warning ">${flashcard.nativestring}</h1>

但在表单输入中,它按原样插入。 如何解决?

我的表格:

 <form:form method="POST" modelAttribute="flashcardForm" class="form-signin" >    
        <spring:bind path="nativestring">
            <div class="form-group ${status.error ? 'has-error' : ''}">
                <form:errors path="nativestring"></form:errors>
                <form:input path="nativestring" class="form-control input-lg" placeholder="Translation"></form:input>
            </div>
        </spring:bind>  

        <button class="btn btn-lg btn-primary pull-right" type="submit">Submit</button>
    </form:form>

我的班级代码:

Flashcard flashcard = flashService.getFlashById(id);  
model.addAttribute("flashcardForm", flashcard);  
return "flashcards/form";

2 个答案:

答案 0 :(得分:0)

您的数据

&#1087;&#1088;&#1080;&#1074;&#1077;&#1090;

是utf-8字符的html编码。您可以使用Apache Commons Lang将其转换为普通的java字符串:

StringEscapeUtils.unescapeHtml("&#1087;&#1088;&#1080;&#1074;&#1077;&#1090;"

答案 1 :(得分:0)

我在添加htmlEscape =&#34; false&#34;之后解决了这个问题。作为我输入的属性:

<spring:bind path="nativestring">
            <div class="form-group ${status.error ? 'has-error' : ''}">
                <form:errors path="nativestring"></form:errors>
                <form:input path="nativestring" htmlEscape="false" class="form-control input-lg" placeholder="Translation"></form:input>
            </div>
        </spring:bind>