Topic: [求助]很奇怪的两个问题!

  Print this page

1.[求助]很奇怪的两个问题! Copy to clipboard
Posted by: nationalist
Posted on: 2006-07-29 16:30

我有两个文件一个是add.jsp的如下

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="java.sql.*" %>
<%request.setCharacterEncoding("gb2312");%>
<%
String action = request.getParameter("action");
if(action == null || action.equals(""))
{
........ //省略
<%@ include file="add.html" %>
<%
}
else if(action.equals("add"))
{
......//省略

<%@ include file="haha.html" %>
<%
}
%>

还有一个add.html的文件是

<form action="add.jsp?action=add" method="post" name="form" id="form">
</form>

当method=get的时候,直接打开add.jsp的时候可以显示出add.html的内容来,然后按submit的时候还是再次显示出add.html的内容来.意思是request.getParameter("action")=null;
但是当method=post的时候,直接打开add.jsp的时候可以显示出add.html的内容来,按add.html内容中的submit 的时候就能正常显示haha.html中内容了,意思是当method=get的时候 request.parameter("action")=null
当method=post的时候 request.parameter("action")=add;
,这是什么原因啊?
还有一个中文问题,我直接运行add.html的时候,中文显示正常,可是当我运行add.jsp的时候,里面包含的add.html的中文就显示为问号了?像

<%@ page contentType="text/html;charset=gb2312" %>
<%request.setCharacterEncoding("gb2312");%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

这些东西都有写的!!!

2.Re:[求助]很奇怪的两个问题! [Re: nationalist] Copy to clipboard
Posted by: longchuan
Posted on: 2006-08-05 12:45

要使JSP页面能正确的显示中文,要在JSP页面中加入<%@ page contentType="text/html;charset=gb2312" %>.但是要使JSP页面能正确的接收来自上一个页面的提交的含有中文信息的表单或是从数据库中读取中文信息时,就需要将得到的字符串进行相应的编码转换.如你的代码中的字符串应做如下的编码转换:
String action = new String(request.getParameter("action").getBytes("ISO8859_1"),"GBK");
而当要写入数据库时就要做相反的转换:
xxxxxxx.getBytes("GBK",("ISO8859_1");


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923