JSP提交表单 a标签传值 乱码问题

访问URL传递参数 一般有2种方式:post 、get

无论是JSP提交表单到servlet还是action还是其它 或者 a标签指定URL传递参数 出现的乱码问题可以按照访问方式来解决

1.对于POST访问方式可以设置过滤器过滤字符

----举个栗子----对访问根目录下的所有JSP页面之前设置字符过滤器,指定过滤后的编码为”UTF-8“

package com.smxy.lxz.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;

/**
* Servlet Filter implementation class CharacterFilter
*/
@WebFilter(
urlPatterns="/*",
initParams={@WebInitParam(name="encoding",value="UTF-8")}
)
public class CharacterFilter implements Filter {

private String encoding;

/**
* Default constructor.
*/
public CharacterFilter() {
// TODO Auto-generated constructor stub
}

/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}

/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
System.out.println("CharacterFilter->doFilter");
if(encoding!=null){
request.setCharacterEncoding(encoding);
response.setContentType("text/html; charset="+encoding);
}
// pass the request along the filter chain
chain.doFilter(request, response);
}

/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
encoding = fConfig.getInitParameter("encoding");
}

}

2.对于GET访问方式可以根据提交之前的编码和提交之后的编码进行互相转码

----举个栗子----假设提交方式是GET,且提交之前或者提交之后要默认的编码为 ”ISO8859-1“,而要设置的编码为“UTF-8” 则在获取参数前加如下代码

String username = new String(user.getUsername().getBytes("ISO8859-1"),"UTF-8");

时间: 2024-10-26 13:28:40

JSP提交表单 a标签传值 乱码问题的相关文章

Debug - jsp 提交表单到 action 中文乱码

问题描述 jsp 页面使用 post 向 action 提交数据时中文发生乱码 通过在服务器和页面设置编码方式都没用 解决 这是我的表单 <form action="${pageContext.request.contextPath}/from.action"> 用户名:<input type="text" placeholder="请输入用户名..." name="username"><br/&

JSP 提交表单乱码问题

在写html的过程当中,遇到提交表单,转到另一个jsp的时候,如果传递的参数是中文的话,则会出现乱码的情况.因为表单默认是以ISO-8859-1的编码方式提交的.具体的更改方式非常简单: 在跳转到的jsp文件中写上下面一句: request.setChracterEncoding("gb2312"); 即可. 更多的方式:请移步 http://blog.csdn.net/beijiguangyong/article/details/7414247 但是他的方式有点繁琐.

在jsp提交表单的参数封装到一个方法里

建议去看一下孤傲苍狼写的Servlet+JSP+JavaBean开发模式(http://www.cnblogs.com/xdp-gacl/p/3902537.html), 最好把他JavaWeb学习总结全部看完会有很大的收获哦! 而把jsp专递的参数封装到一个方法里面也是从他那里学到的. 我觉得特别有用,尤其是在做项目的时候能省很多的代码  一: 需要的包 根据上一篇JDBC+Servlet+jsp(http://www.cnblogs.com/zhu520/p/6913650.html)的内容

jsp提交表单问题

以form形式提交的话 String usernameInForm = hreq.getParameter("username");String passwordInForm = hreq.getParameter("password"); System.out.println(hreq.getParameter("username") == null);System.out.println(hreq.getParameter("pas

button提交表单 a标签提交表单

<form name="searchForm" id="searchForm" method="get" action="/ProductType?pageIndex=1"> <input type="text" value="" name="name" id="name" placeholder="Enter text

jsp提交表单数据乱码,内置对象,以及过滤器

jsp提交表单数据乱码解决方案 通过form表单给服务器提交数据的时候,如果提交的是中文数据,那么可能会出现乱码,如果表单的请求方式是post请求,那么可以使用如下方案解决乱码: 在调用getParameter()之前,设置请求对象request的编码方式. <% request.setCharacterEncoding("utf-8");%> 002.如果是通过get方式提交的form,两种处理乱码方案: 01.通过new String(str.getBytes(“iso

jsp中普通按钮如何提交表单

jsp中普通按钮如何提交表单方法1: <form action = "提交的地址">         <input type="submit" value="提交">        </form>方法2:<form action = "提交的地址">        <input type="button" value="提交" onc

阻止form元素内的input标签回车提交表单

<form></form>标签内input元素回车会默认提交表单. 阻止回车默认提交表单: $('form').on('keydown', function (event) { if (event.keyCode == 13) return false; }) 原文地址:https://www.cnblogs.com/wujiaqi/p/10248828.html

提交表单传值

data: { localImage: app.globalData.localImage, com_mobile: null,//电话号码 com_password: null,//密码 }, /** * 提交表单 注册 */ submit: function (e) { console.log(e) let value = e.detail.value; /** * 判断每个input是否为空 */ if (value.Phone_number == '') { wx.showToast({