springmvc + freemarker 解决表单提交、页面显示乱码 的问题

利用freemarker根据数据库字段自动生成form表单代码 主要是利用freemarker根据数据库字段自动生成form表单以及dao层和service层的增删改查等功能 立即下载

其实,网上有很多的解决乱码的,不过都只能在某些地方起作用,比如给spring增加一个编码过滤器,能够解决表单提交(所有以post方式提交的)的乱码问题,比如给tomcat设置默认的url编码,能够解决get请求的乱码问题,现在我将这两者结合起来,能够完美解决所有乱码问题(至少我的没问题),这样就不用担心编码问题了,在所有的地方都不用编码转换。废话不多说,方案如下:

一、给tomcat设置url过滤编码

tomcat对url的编码默认是iso-8859-1,我们要把它改为utf-8,编辑conf/下的server.xml,配置Connector项,加上属性URIEncoding="UTF-8"即可,局部内容如下:

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               
URIEncoding="UTF-8"/>

二、在web.xml增加spring的编码过滤器

在配置文件web.xml增加如下设置

<!-- 设置post方式提交的表单的过滤编码 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class> 
  org.springframework.web.filter.CharacterEncodingFilter
  </filter-class>
  <init-param>
  <param-name>encoding</param-name>
  <!-- 在这里设置默认编码格式,可以为gbk,gb2312,只要所有页面编码统一就行 -->
  <param-value>UTF-8</param-value>
</init-param>
  <init-param>
  <param-name>forceEncoding</param-name>
  <param-value>true</param-value> <!-- 强制编码 -->
  </init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>     
    <url-pattern>/*</url-pattern>
</filter-mapping> 

三、给freemarker设置默认的页面编码格式

有两种方案,一种是给freemarker.properties(默认放在classpath下) 增加如下属性

default_encoding=utf-8 #页面加载的字符集

output_encoding=urf-8 #输出的字符集

locale=zh_CN # 中国

一种是配置freemarkerConfig,在spring的配置文件配置(相信用过freemarker的都应该知道在哪里)

为了方便,我把我在配置都贴出来

    <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="templateLoaderPath" value="/WEB-INF/template/" />
        <property name="freemarkerSettings">
            <props>
                <prop key="template_update_delay">1</prop>
                <prop key="default_encoding">UTF-8</prop>
               <!--  <prop key="output_encoding">UTF-8</prop> --><!--  输出的字符集  -->
                 <prop key="locale">zh_CN</prop>
                <prop key="number_format">0.##</prop>
                <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
                <prop key="template_exception_handler">dcrx.freemarker.user.MyTemplateExceptionHandler</prop> <!-- 自定义异常处理,没有的可不管-->
            </props>
        </property>
        <property name="freemarkerVariables">
	        <map>
	        </map>
	    </property>
    </bean>

最后不要忘了,配置freeMarker视图解析器,将页面的contentType 的编码设置为utf-8 这是一个很好的习惯,相信做开发或者界面设计的人都知道

为了方便,我把我的配置都贴出来

	<!-- 配置freeMarker视图解析器 -->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
	    <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
	    <!-- <property name="viewNames" value="*.ftl"/> -->
	    <property name="contentType" value="text/html; charset=utf-8"/>
	    <property name="cache" value="true" />
	    <property name="prefix" value="" />
	    <property name="suffix" value=".ftl" />
	    <property name="order" value="2"/>
	</bean>

这样,经过几处的设置,就再也不用担心编码的问题了


freemarker操作手册-完整freemarker教程 freemarker操作手册-完整freemarker教程:完整的freemarker操作手册,对需要学习了解freemarker的人有一定帮助 立即下载

相关推荐

计算机视觉(相机标定;内参;外参;畸变系数)

目录 一、预备知识 1、坐标系变换过程(相机成像过程) (1)相机坐标系转换为图像坐标系(透视投影变换遵循的是针孔成像原理) (2)齐次坐标的引入原因:(为什么引入齐次坐标???) 2、内参与外参矩阵的构成 3、畸变参数 二、相机标定 1、张正友标定法(光学标定)及其求解思路 2、求解内参矩阵与外参矩阵的思路: (1)计算内参与外参矩阵的乘积M (2)求解内参矩阵A (3)求解外参矩阵(R1 R2 T) 三、参数优化 1、L-M算法 2、相机标定步骤 四、相关代码及其实验结.

QYJ_WORKHARDING的博客 6万+

前端笔记-freemarker模板获取后端数据及提交数据

目录 基本概念 代码与实例 基本概念 这里有如下页面: 这里面表单的数据都是从后端获取的,点获取数据,会调用getRecord方法从数据库获取数据。 点击提交备注,是备注可以让用户填写。 提交后,更新数据库中的数据。 在freemarker中使用${xxxx},这种方式获取单条的数据。 代码与实例 前端代码如下: <!DOCTYPE htm...

IT1995的博客 1万+

Understand-Anything:AI驱动的代码知识图谱,实现项目全局洞察与高效导航

在软件开发中,理解复杂代码库的结构和依赖关系是提升开发效率的关键。传统代码阅读方式往往陷入局部视角,难以快速把握系统全貌。知识图谱技术通过将代码实体(如文件、类、函数)及其关系(调用、继承、依赖)可视化,为代码理解提供了全局视角。这项技术的核心价值在于将静态代码转化为动态、可交互的认知地图,极大降低了系统学习与维护成本。在实际工程中,它广泛应用于新成员快速入职、遗留系统梳理、架构影响分析等场景。本文介绍的Understand-Anything工具,正是基于这一理念,通过多智能体分析管道,自动构建代码的结构图

weixin_42615290的博客 884

Spring Boot 学习笔记【7】FreeMarker提交表单

接上一篇 使用FreeMarker提交表单的功能,就可以做一个简单的登录功能了。 新建控制类 @Controller public class login { @RequestMapping("/login") public String login(){ re...

chuangliumo0740的博客 1329

BFD+OSPF+FRR:构建高可用网络的核心铁三角

摘要:VRRP、OSPF、BFD和FRR协同实现网络高可用。VRRP负责网关冗余,OSPF确保路由可达,BFD提供毫秒级故障检测,FRR实现快速路径切换。故障时,BFD立即检测并通知OSPF,FRR在OSPF收敛前切换流量,VRRP完成网关切换(如需)。BFD采用异步模式动态建立,效率最高。该机制确保业务流量无缝切换,提升网络可靠性。

A516988的博客 754

AutoLISP 学习 (一)

AutoLISP基本语法结构、语法 以括号组成表达式,左右括号一定要成对,单、双引号也要成对,例如: (defun c:hello() (princ "\nHello world!") (prin1) ) 表达式格式:(函数名 操作数 操作数 …),例如: (setq p1 (list 0 0)) (setq p2 (list 10 10)) (setq p3 (list 20 20)) ;;; CAD中画直线,经过p1 p2 p3 (command "LINE" p1 p2 p3 ""

m0_54575622的博客 2123

Sping MVC + Freemarker实现表单提交

下面我以一个用户登录表单提交作为示例 配置Spring MVC + Freemarker,请参考我的另一篇文章, http://blog.youkuaiyun.com/yakson/article/details/9813531 新建freemarker模板 FreeMarker Spring MVC 之 表单提交

杨启盛的博客 1万+

ConvNeXt 改进 :ConvNeXt添加GnConv递归门控卷积,二次创新CNBlock结构 ,独家首发

视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnConv),通过门控卷积和递归设计执行高阶空间交互。该新操作具有高度的灵活性和可定制性,兼容各种卷积变体,并将自注意力中的二阶交互扩展到任意阶数,而不会引入显著的额外计算。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 240

Freemarker使用--备忘录

Freemarker

Zohar的博客 370

基于 YOLOv26 的车辆违规停车检测系统:实时监控

本文提出了一种基于YOLOv26的车辆违规停车实时检测系统。系统采用多模块架构,包括视频预处理、YOLOv26目标检测、DeepSORT目标跟踪、停车区域定义、行为分析和违规判定等功能模块。关键技术包括使用YOLOv26s模型进行车辆检测,结合DeepSORT算法实现车辆跟踪,支持多种停车区域定义方式(多边形、矩形、限时区域等)。系统通过边缘计算平台部署,实现了对道路边、禁止停车区等场景的实时监控,能够准确识别长时间停车、禁止区域停车等违规行为,并触发告警机制。实验结果表明,该系统在车辆检测准确率和违规判定

一键难忘的博客 775

YOLO26-seg分割优化:轻量化卷积魔改 | 新的partial convolution(PConv)结合C3k2 | CVPR2023

​​​​​摘要:本研究对Ultralytics YOLO26进行了全面分析,重点阐述了其关键架构改进及其在实时边缘目标检测中的性能基准测试。YOLO26于2025年9月发布,是YOLO系列最新、最先进的成员,专为在边缘及低功耗设备上实现高效、精确且易于部署的目标而构建。本文依次详述了YOLO26的架构创新,包括:移除了分布焦点损失(DFL);采用端到端的无NMS推理;集成了渐进损失(ProgLoss)与小目标感知标签分配(STAL);以及引入了用于稳定收敛的MuSGD优化器。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 153

spring mvc freemaker form表单提交

spring mvc freemaker form表单提交时出现如下问题这是由于form表单中绑定的数据类型跟pojo类型不一致导致。

tian251yu的专栏 1737

解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)新增用户和用户角色权限

解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)查看用户权限、新增用户和用户角色权限。

念兮为美 7479

解决问题:SpringMvc中转发的html文件中文是乱码

SpringMvc中设置了html视图解析器却不起作用(看了几十多篇文章的相关内容的精华合集)1.环境说明,以及前言2.问题描述:3.失败的方法(这里写失败并不代表在其他情况不管用)3.1 html网页本身编码不是UTF-8(推荐尝试)3.2 web.xml中没有设置配置编码方式(ssm框架配置必定配置)3.3修改html 文件(感觉没屌用)3.4 修改html文件中的<**head**&...

dark_souls的博客 1478

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

SpringMVC乱码或前台乱码解决办法

JSP页面乱码 &lt;%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&gt; 以及 form表单提交方式为必须为post 修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true) &lt;filter&gt; &lt;filt...

試毅-思伟_技术博客 344

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

17.1 SpringMVC框架_SpringMVC入门与数据绑定(❤❤)

- springMVC底层依赖 -->

与海 1170

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java框架(六)-- SpringMVC(2)--SpringMVC其他应用

一旦加入了全局时间参数转换器,即使时间参数前面加了@DateTimeFormat注解,SpringMVC还是优先使用转换器类实现转换工作,所以全局时间参数转换器和@DateTimeFormat注解只能二者选其一。修改实体类User,接受日期格式参数时,参数前面需要加@DateTimeFormat注解并指定格式,不然无法接受参数。修改接受方法为,接受日期格式参数时,参数前面需要加@DateTimeFormat注解并指定格式,不然无法接受参数。修改form.html表单内容。修改index.html。...

qq_32091929的博客 248

SpringMVC入门与数据绑定

从本节开始,我要学习在Spring生态体系中我们必须掌握的Web应用框架 Spring MVC。

weixin_50216991的博客 905

springMVC+ajaxFileUpload中文名乱码的问题

最近在做一个文件上传的功能,使用的是ajaxFileUpload作为前台上传功能,实际使用中发现问题有2个 1、file组件的change事件只能触发一次。 2、上传的中文名乱码 关于1:file组件的change事件触发一次是因为ajaxFileUpload在复制页面的file组件时候clone副本只克隆了dom并未clone事件导致被clone元素的事件只有第一次会发生变化。 ...

weixin_30432579的博客 256

第23周Java主流框架入门-SpringMVC 1.SpringMVC入门与数据绑定

MVC 架构模式Model(模型):代表业务逻辑和数据,与 Java 代码中的业务部分对应。View(视图):界面部分,用于与用户交互,如显示查询结果、接收表单输入。Controller(控制器):中介,接收视图传入的数据,调用业务逻辑,并将结果返回视图。为什么使用 Spring MVC传统的 Servlet 使用较为复杂,Spring MVC 提供了更简便的方式,简化 Web 应用程序的开发。

Sweeping_Robot的博客 1050

SpringMVC框架

文章目录SpringMVCMVC设计模式JSP+JavaBeanServlet+JSP+JavaBeanMVC优缺点优点缺点什么是SpringMVCSpring MVC优点第一个SpringMVC程序Spring MVC和Struts2的区别Spring MVC视图解析器(ViewResolver)URLBasedViewResolverInternalResourceViewResolverFreeMarkerViewResolverSpring MVC执行流程Spring MVC接口Spring MVC

qq_45738291的博客 4577

springmvc 入门和数据绑定

springmvc 知识点 1. spring配置 (1) web初始化配置 <!--DispatchServlet--> <servlet> <servlet-name>springmvc</servlet-name> <!-- DispatcherServlet是Spring MVC最核心的对象 DispatcherServlet用于拦截Http请求,

ag4526的博客 315

springmvc学习

URL Mapping 注解 @RequestMapping 通用绑定 可以作用在方法上 或作用在类上 作用在方法上表示可以接受get请求和post请求 作用在类身上url中多一层子集 比如 某网址 www.abc.com/g 这条链接 通过这个注解作用在类上定义一个 @RequestMapping("/um") 这样链接要用 www.abc.com/um/g 才能访问 @GetMapping 绑定get请求 作用在方法上 只能接受get请求 @PostMapping 绑定post请求 作用在方法上 只能

qq_14846625的博客 186

基于Spring MVC+MyBatis+FreeMarker+OSCache项目实战视频-刘英杰-专题视频课程

1.使用maven搭建SSM框架 2.使用jersey实现应用服务器和图片服务器分离 3页面缓存OSCache 4.Freemarker 页面静态化

l363130002的专栏 387

SpringMVC笔记

1、SpringMVC概述 1.1、SpringMVC概念 SpringMVC也叫Spring web mvc。是Spring内置的一个MVC框架,在Spring3.0后发布。SpringMVC框架解决了WEB开发中常见的问题(参数接收、文件上传、表单验证等等),而且使用简单,与Spring无缝集成。支持RESTful风格的URL请求,采用了松耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性。 1.2、SpringMVC原理 在没有使用SpringMVC之前我们都是使用Servlet在做Web开发。但

cc76825的博客 639
上一篇: freemarker 数字格式化处理
下一篇: java POI Execel表格的统一校验与导入
jackshen310
博客等级 码龄15年 1粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值