中文乱码 jsp正常后台接收异常

时间:2024-01-13 17:00:50

关于中文乱码:
1,解决GET方式中的中文编码问题。
  在Jsp中如果用中文方式传递编码,一定要保证传递过去的是U8;
情况一:在便签中<s:action >
  可以使用<s:param>参数,作为参数传递。
情况二:在js中:
  使用encodeUrl编码

<td>
<s:a action="processDefinition_delete" onclick="return delConfirm()">
<s:param name="key" value="%{key}"></s:param>
删除
</s:a>
<a href="javascript: showProcessImage( '${id}' )">查看流程图</a>
</td>

  

<script type="text/javascript">
function showProcessImage( pdId ){
pdId = encodeURI(pdId); // 进行URL编码
var url = "processDefinition_showProcessImage.do?id=" + pdId + "&t=" + new Date();
window.showModalDialog(url, null, "dialogHeight:500px, dialogWidth:450px;resizable:yes");
}
</script>

  

action处理:

	/** 删除,删除的是指定key的所有版本的流程定义 */
public String delete() throws Exception {
key = new String(key.getBytes("iso8859-1"), "utf-8"); // 解决GET方式传递的中文乱码的问题
processDefinitionService.deleteByKey(key);
return "toList";
}

  

	/** 查看流程图(xxx.png) */
public String showProcessImage() throws Exception {
id = new String(id.getBytes("iso8859-1"), "utf-8"); // 解决GET方式传递的中文乱码的问题
inputStream = processDefinitionService.getImageResourceAsStreamByPdId(id);
return "showProcessImage";
}