在做数据分页显示的时候按“下一页”的时候我希望把页面的几个参数(中文)传给下一个action,参数是表示用来查询数据库的几个条件。这是项目中用来显示数据的页面show_data.jsp的部分代码:<s:url id="url_pre" value="datatest.action">
<s:param name="pageDAO.currentPage" value="pageDAO.currentPage-1"></s:param>
<s:param name="pageDAO.xisuo" ><s:property value="pageDAO.xisuo"/></s:param>
<s:param name="pageDAO.tch_name"><s:property value="pageDAO.tch_name"/></s:param>
<s:param name="pageDAO.course"><s:property value="pageDAO.course"/></s:param>
</s:url> <s:url id="url_next" value="datatest.action" >
<s:param name="pageDAO.currentPage" value="pageDAO.currentPage+1"></s:param>
<s:param name="pageDAO.xisuo">${pageDAO.xisuo}</s:param>
<s:param name="pageDAO.tch_name">${pageDAO.tch_name}</s:param>
<s:param name="pageDAO.course" >${pageDAO.tch_name}</s:param>
</s:url> <s:if test="pageDAO.currentPage==1">第一页</s:if>
<s:else><s:a href="%{url_pre}">上一页</s:a></s:else><s:if test="pageDAO.currentPage==pageDAO.pageCount">已经最后一页 </s:if>
<s:else><s:a href="%{url_next}">下一页</s:a>
</s:else>action中有一个pageDAO对象,该对象有xisuo、tch_name、tch_name三个String类型的属性,目的就是要给这三个属性传递中文的值,通过url附加参数的方法。
在控制台输出获得的数据是:
??????
?????????
????????°???请问各位大虾有什么办法吗?
<s:param name="pageDAO.currentPage" value="pageDAO.currentPage-1"></s:param>
<s:param name="pageDAO.xisuo" ><s:property value="pageDAO.xisuo"/></s:param>
<s:param name="pageDAO.tch_name"><s:property value="pageDAO.tch_name"/></s:param>
<s:param name="pageDAO.course"><s:property value="pageDAO.course"/></s:param>
</s:url> <s:url id="url_next" value="datatest.action" >
<s:param name="pageDAO.currentPage" value="pageDAO.currentPage+1"></s:param>
<s:param name="pageDAO.xisuo">${pageDAO.xisuo}</s:param>
<s:param name="pageDAO.tch_name">${pageDAO.tch_name}</s:param>
<s:param name="pageDAO.course" >${pageDAO.tch_name}</s:param>
</s:url> <s:if test="pageDAO.currentPage==1">第一页</s:if>
<s:else><s:a href="%{url_pre}">上一页</s:a></s:else><s:if test="pageDAO.currentPage==pageDAO.pageCount">已经最后一页 </s:if>
<s:else><s:a href="%{url_next}">下一页</s:a>
</s:else>action中有一个pageDAO对象,该对象有xisuo、tch_name、tch_name三个String类型的属性,目的就是要给这三个属性传递中文的值,通过url附加参数的方法。
在控制台输出获得的数据是:
??????
?????????
????????°???请问各位大虾有什么办法吗?
解决方案 »
- SSh整合,tomcat启动,database异常。。。
- 放到空间上的网站IE能正常访问,但是谷歌 火狐浏览器 就直接显示源码了。
- 请高手说下学习WEB方面的知识该怎么顺序学习!
- 请教一下下载的问题
- 求助:JS图片轮换代码问题
- 关于select ... for update
- 大家看看,怎么会出现java.lang.NullPointerException呢,是哪句出错,大家帮忙看看,非常感谢!
- 为什么报oracle Management sever 中某项服务尚未完全初始化啊?为什么启动电脑后有三个oracle进程啊?我怎样解决这二个问题啊?谢谢!
- 【送分求教】 关于执行表单的SQL逻辑选择
- 关于java的文件处理,急!很急!在线等待!
- struts+hibernate如何将图片上传到服务器,路径保存到数据库中,而且将图片名字改为当前时间命名的?
- 【高分回赠】Java程序内可以读取 把编译后的class文件放在WEB-INF内就不行了
好像2.1.5-6都有乱码问题,好像是个bug,
你用现在最新的版本已经修正过来了
要是用最新的版本的话,你可以直接在struts.xml文件上定义上:
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
struts 是2.1.8版本的。你的方法我试过了,不管用。action中我加入这段代码:
String name=request.getParameter("pageDao.tea_name");
if(name==null)
System.out.println( "request的pageDao.tea_name为空");
else
{
name= new String(name.getBytes( "ISO8859-1 "), "UTF-8 ");
System.out.println( "name= "+name);
}打印出来的是"request的pageDao.tea_name为空"这个。说明action都根本没有得到这个参数好象。
中文字段发送前用java.net.URLEncoder.encode
接收后用java.net.URLDecoder.decode
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />编码方式都改成GBK试试、再不行的话,就在java里面转换过来、
http://blog.sina.com.cn/s/blog_3fe961ae0100kxb1.html