JSP小知识

在JSP跳转时,有时候可以通过传参数来是的页面得到初始化

eciUserGather.jsp?flag=new

String flagValue = request.getParameter("flag");
  if (flagValue != null && flagValue.equals("new")) {
    session.removeAttribute(SessionNames.FORM_ECI);
    session.removeAttribute(SessionNames.LIST_ECI);
  }

这里,通过验证参数,将页面session中的attribute移除


表单提交到自个网页,有什么办法提交之后,而且一刷新,input输入框里的值给它保留显示着的
<input type="text" name="begin" value="<%=request.getParameter("begin")==null?"":request.getParameter("begin")%>">
 
 
js验证输入框是否为空的方法:
1、document.getElementById.value.length==0
2、
<form name="free"method="POST"action=""οnsubmit="return check()">
<p align="center">
  <input type="text"name="t1"size="20">
  <input type="submit"value="提交"name="B1">
</p>
</form>  
document.free.t1.value.length==0
3、
JSP中的page标签中的pageEncoding属性和contentType属性
pageEncoding的默认值为ISO-8859-1 contentType的默认属性为:text/html; charset=ISO-8859-1
这里就存在一个编码的问题:1、JSP文件本身的编码。2. pageEncoding的编码 。 3 contentType的编码
当不存在中文的时候,当然默认编码就行
当存在中文的时候,JSP文件本身的编码必须设置为能支持中文编码如:gbk、gb2312、utf-8,不设置的话文件中中文在编辑的时候会出现乱码
话说pageEncoding也是JSP本身的编码所以pageEncoding也必须和JSP文件的编码一样,不然会出现乱码
其实pageEncoding应该说是jsp经过的服务器后台的servlet文件的编码
举个例子:
在JSP中输入中文之后,编译器(eclipse)一般会提示是否将文件保存为UTF-8,此时将文件保存为UTF-8而我们又讲pageEncoding设置为GBK,必然出现乱码问题
至于contentType,话说这是设置文件的mine类型
这里说下JSP文件编译和编码过程

JSP要经过两次的编码,第一阶段会用pageEncoding,第二阶段会用utf-8utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType

  第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。

  第二阶段是由JAVACJAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8encodingjava源码。

  JAVACUTF-8encoding读取java源码,编译成UTF-8 encoding的二进制码(即.class),这是JVM对常数字串在二进制码(java encoding)内表达的规范。

  第三阶段是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码,输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数 contentType就发挥了功效

而一般我们不需要设置contentType的类型,因为它默认会根据pageEncoding的变化而变化,如果非得要设,那就得设置和pageEncoding一样的类型
不要就要出现乱码



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值