这一周在思途教育实训,再次巩固了之前学习过的javaMVC的知识,接触了不少新的知识,比如SSM/SSH框架、Spring、Bootstrap框架、JSTL等等。也暴露出了很多问题,谨以此记录下来以便提醒自己。

<c:forEach items="${stus}" var="stu"><tr><td><input style="width: 20px;" type="text" value="${stu.id}" readonly="readonly"/></td><td>${stu.name}</td><td>${stu.sex }</td><td>${stu.age }</td><td><button οnclick="window.open('update.jsp?id=${stu.id}')" class="btn btn-primary" id="updateBtn" name="id"type="submit" value="${stu.id}">修改</button><button οnclick="window.open('delete.jsp?id=${stu.id}&name=${stu.name}&sex=${stu.sex}&age=${stu.age}')" class="btn btn-primary" id="deleteBtn"type="button">删除</button></td></tr>
</c:forEach>

在JSTL中有<c:foreach></c>标签以实现元素的迭代。在上面的代码中,我想使用URL传参的方式实现不同页面间参数的传递,如果使用URL进行参数传递,需要在前端进行编码,并在后端进行解码(方法略),如果不对中文字符进行编码和解码的处理,在后端接受时就会出现乱码。但是在这里,参数是以EL表达式的形式给出的,如何进行编码的处理???

我首先想到的是前端编码:

encodeURI(encodeURI(“***”))

后端解码:

String str = new String(request.getParameter("param").getBytes("iso8859-1"),"UTF-8");

运行结果如下图,在后端接收的数据还是乱码。

后来看到论坛里一个神的回复(下面第一个链接),受益匪浅。从而得出了正确的处理方式:

无需对EL表达式进行编码,直接在后台获取时用URLDecoder.decode()进行解码即可。

代码:

int id=Integer.parseInt(request.getParameter("id")) ;
String name2=java.net.URLDecoder.decode(request.getParameter("name"));
String sex2=java.net.URLDecoder.decode(request.getParameter("sex"));
//String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"UTF-8");
//String sex=new String(request.getParameter("sex").getBytes("iso-8859-1"),"UTF-8");
int age=Integer.parseInt(request.getParameter("age"));

运行结果如图:

成功解决问题!

参考资料:http://bbs.csdn.net/topics/250056412

http://blog.csdn.net/u010648555/article/details/50011987

【JAVA】(实训1)EL表达式编码问题相关推荐

  1. java实训意义_java实习心得体会

    通过java实习,我自身发生了重大的转变,我相信我会在JAVA开发这条路上走的更长更远,分享心得体会.下面是学习啦小编为大家收集整理的java实习心得体会,欢迎大家阅读. java实习心得体会篇1 经 ...

  2. 简单计算器(Java实训)

    简单计算器(Java实训) 实训目的: 掌握 Java GUI 开发中的布局管理和事件处理机制. 实训要求: (1)要使用 java 的 GUI 设计出计算器界面.(2)通过界面 按钮,可以实现整数或 ...

  3. android订餐系统实训总结,订餐系统的java实训报告.ppt

    订餐系统的java实训报告.ppt MingD互联网订餐电子商务系统 PPT模板下载 1需求分析2建立数据库3编码4页面设计5测试及调试 项目开发过程 小组分工 数据库部分我们采用Javabean对象 ...

  4. java实训手册_java实训项目用户手册

    java实训项目用户手册 1 用户手册 第 1章 引言 1.1编写目的编写本手册的主要目的是为了方便使用的用户管理系统能够更加方便使用 此系统,以及更快的掌握JDK,MySQL,MyEclipse使之 ...

  5. java el表达式 导航规则_诺禾:在jsp里面如何不写java代码展示数据(EL表达式的使用)...

    EL表达式可以简化jsp中写的java代码 在jsp里面如何不写java代码展示数据(EL表达式的使用) 在jsp里面如何不写java代码展示数据(EL表达式的使用) 在jsp里面如何不写java代码 ...

  6. 2020年Java实训项目【GUI学生信息管理系统】目录

    Java实训项目1:GUI学生信息管理系统 - 实训概述 Java实训项目2:GUI学生信息管理系统 - 系统概述 Java实训项目3:GUI学生信息管理系统 - 涉及知识点 Java实训项目4:GU ...

  7. Java实训项目:GUI学生信息管理系统(2019)【下】

    Java实训项目:GUI学生信息管理系统(2019)[下] 本篇目录 六.实现步骤 13.应用程序类 14.窗口界面类(JFrame)

  8. Java实训项目:GUI学生信息管理系统(2019)【中】

    Java实训项目:GUI学生信息管理系统(2019)[中] 本篇目录 四.涉及知识点 1.Java基本语法 2.Java流程控制

  9. Java实训项目:GUI学生信息管理系统(2019)【上】

    Java实训项目:GUI学生信息管理系统(2019)[上] 本篇目录 零.实训概述 1.实训目的 2.项目简介

  10. Java实训项目:GUI学生信息管理系统(2017)

    Java实训项目:GUI学生信息管理系统(2017) 实训目的:让学生综合运用J2SE有关知识开发[学生信息管理系统].主要涉及程序控制结构.面向对象编程.图形用户界面.Java数据库应用.MySQL ...

最新文章

  1. servlet的 session什么时候用_抖音什么时候用dou+
  2. javascript跳跃式前进(3) - 跳入JSON
  3. 以application/json 方式提交 然后用在php中读取原始数据流的方式获取 在json_encode...
  4. 算法--2016搜狐面试:搜狐员工放假了,都玩什么?
  5. vs2022 qt环境搭建调试
  6. 什么是功能性需求和非功能性需求
  7. .Net Discovery 系列之一--string从入门到精通(上)
  8. Ubuntu / Debian / Deepin等 Sublime Text 3 配置C++环境(一键编译运行,格式化代码)
  9. java中hello类,Java入门篇-hello world
  10. pytorch 数据类型
  11. 使用PHP连接POSTGRES数据库
  12. 一、配置etcd数据库
  13. C#实现简单的网页爬虫
  14. C# ManualResetEvent 与 AutoResetEvent 区别
  15. 真么找计算机用户密码,如何查找电脑的用户名和密码
  16. Unity竖排文字的实现(2019以上新版本可用)
  17. Nodejs爬虫自动爬取百度图片
  18. 2020-12-07 Git 解决 git cherry-pick could not apply
  19. [PYTHON]Scons工具简介
  20. VM14+CentOS7安装教程

热门文章

  1. 《 Kubebuilder v2 使用指南 》-P6-CRD Admission Webhook
  2. 2022年中式烹调师(高级)操作证考试题库及模拟考试
  3. Super expression must either be null or a function错误
  4. 人员招聘与培训实务【2】
  5. 如何有效的招聘技术人员
  6. 终于有人把智慧城市和边缘计算说清楚了
  7. 你还别不信:过度关注技术就是浪费时间
  8. TP5简单实现类似京东淘宝多级商品筛选功能。
  9. 使用py对Excel表格进行基本读写操作
  10. 服务网格在百度核心业务大规模落地实践