- 浏览: 343039 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zqb666kkk:
有示例代码吗
WebService CXF学习(高级篇3):WS-Security -
zhujiangtaobl0505:
楼主有源码没?发下,我邮箱465971531@qq.com,我 ...
WebService CXF学习(高级篇2):CXF+Spring+Hibernate -
ssy341:
http://localhost:8080/jforum/in ...
JForum安装详解 -
songzht:
看了上面的代码,这两个类型是怎么定义的?private Bas ...
JfreeChar结合struts2展示柱状图和饼状图(已解决乱码问题) -
Getwaysun:
持久化类中使用boolean定义某个字段后,报Null val ...
null不能赋值给int类型,Integer可以。
根据项目的需要写了一个加密的标签,代码如下:
encrypt.tld
下面是java部分
Encrypt.java
下面是jsp部分
在js中标签无法将"<e:encrypt encryptValue='"+result +"'></e:encrypt>"
这种加密,因为里面有特殊字符。所有用result = encodeURI(result);来加密。
后台解析统一用java.net.URLDecoder.decode(result , "UTF-8");来解密。
这个可以解决传递中文参数乱码问题。
encrypt.tld
<?xml version="1.0" encoding="UTF-8"?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd" version="2.0"> <tlib-version>1.0</tlib-version> <short-name>mytaglib</short-name> <uri>/encrypt-tags</uri> <tag> <name>encrypt</name> <tag-class>com.ctitc.analysis.util.Encrypt</tag-class> <attribute> <name>encryptValue</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <body-content>empty</body-content> </tag> </taglib>
下面是java部分
Encrypt.java
package com.ctitc.analysis.util; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; @SuppressWarnings("serial") public class Encrypt extends SimpleTagSupport { private String encryptValue; public void doTag() throws JspException { // TODO Auto-generated method stub try { encryptValue = java.net.URLEncoder.encode(encryptValue,"UTF-8"); getJspContext().getOut().write(encryptValue); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public String getEncryptValue() { return encryptValue; } public void setEncryptValue(String encryptValue) { this.encryptValue = encryptValue; } }
下面是jsp部分
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <%@taglib prefix="s" uri="/struts-tags" %> <%@taglib prefix="e" uri="/encrypt-tags" %> <HTML> <HEAD> <title>main</title> <base href="<%=basePath%>"> <style type="text/css"> <!-- a:link { text-decoration: none;color: blue} a:active { text-decoration:blink} a:hover { text-decoration:underline;color: red} a:visited { text-decoration: none;color: green} body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background-color: #E6F4FF; } --> .STYLE1 {font-size: 10pt} </style> <link href="styles/sty.css" rel="stylesheet" type="text/css"> <script type="text/javascript"> function DoCheckAll(){ var chkItemArray = document.getElementsByName("chkItem"); var chkallstatus = document.getElementById("chkall").checked; for(var i=0;i<chkItemArray.length;i++){ chkItemArray[i].checked = chkallstatus; } } function deleteItem(cubeName){ var chkItemArray = document.getElementsByName("chkItem"); var result = ""; for(var i=0;i<chkItemArray.length;i++){ if(chkItemArray[i].checked){ if(result == ""){ result += chkItemArray[i].id; }else{ result += ","+chkItemArray[i].id; } } } if(result == ""){ alert("请选择您要删除的记录!"); }else{ result = encodeURI(result); document.location.href="measuresharedelete.action?fileName=${fileName }&measureName="+result+"&cubeName=<e:encrypt encryptValue='${cubeName }'></e:encrypt>"; } } </script> </HEAD> <body bgcolor="#eeeeee" topmargin="0" leftmargin="0" rightmargin="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="25" align="center" bgcolor="#AFDFFE"> <table width="97%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="59%">用户 <strong>sys</strong> 您现在的位置是: <a href="#"><strong>规费主题分析</strong></a>>><a href="#"><strong>共享度量</strong></a>>>度量列表</td> <td width="41%" align="right">搜索内容: <input name="textfield2" type="text" style="height=18" size="15"> <a href="#"><img src="images/tb_soso.gif" width="15" height="15" border="0"></a></td> </tr> </table> </td> </tr> </table> <br/> <table width="97%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#8C9FEB"> <tr bgcolor="#D4ECF8"> <td colspan="7"><div align="left"><strong>共享度量</strong></div> <div align="left"> <a href="measureshare.action?fileName=${fileName }&cubeName=<e:encrypt encryptValue='${cubeName }'></e:encrypt> " ><img src="images/btn_zj.jpg" border="0"></a> <a href="javascript:if(confirm('确认要删除选定的记录?'))deleteItem();"><img src="images/btn_sc.jpg" border="0"></a> </div></td> </tr> <tr align="center" bgcolor="#91C6FC"> <td>全选<input type="checkbox" name="chkall" value="checkbox" onclick="DoCheckAll()"></td> <td><div align="center"><strong>度量名称</strong></div></td> <td><div align="center"><strong>度量列</strong></div></td> <td><div align="center"><strong>度量描述</strong></div></td> <td><div align="center"><strong>聚合</strong></div></td> <td><strong>字符串格式</strong></td> <td><div align="center"><strong>操作</strong></div></td> </tr> <s:iterator value="shareMeasureList"> <tr align="center" bgcolor="#FFFFFF"> <td bgcolor="#D4ECF8" > <input type="checkbox" id="${measureName }" name="chkItem" value="checkbox"></td> <td><div align="center">${measureName }</div></td> <td><div align="center">${column }</div></td> <td><div align="center"> <div align="center">${caption }</div> </div></td> <td><div align="center">${aggregator }</div></td> <td><div align="center">${formatString }</div></td> <td><div align="center"><a href="measureshareinfo.action?measureName=<e:encrypt encryptValue='${measureName }'></e:encrypt>&fileName=${fileName }&cubeName=<e:encrypt encryptValue='${cubeName }'></e:encrypt>">修改</a></div></td> </tr> </s:iterator> </table> </body> </HTML>
在js中标签无法将"<e:encrypt encryptValue='"+result +"'></e:encrypt>"
这种加密,因为里面有特殊字符。所有用result = encodeURI(result);来加密。
后台解析统一用java.net.URLDecoder.decode(result , "UTF-8");来解密。
这个可以解决传递中文参数乱码问题。
发表评论
-
编程精华资源大汇总
2014-04-19 18:43 753http://www.iteye.com/magazines/ ... -
PLSQL中汉字显示乱码问题
2013-04-07 16:15 0遇到问题: PLSQL中汉字显示乱码,并且SQL语句中 ... -
svnserver配置文件详解
2013-02-26 15:43 1402svnserve是SVN自带的一个轻型服务器,客户端通过使 ... -
启动tomcat报StandardServer.await: create[8005]
2013-02-19 11:15 1152启动tomcat报StandardServer. ... -
sqlserver数据库异常排查方法
2013-01-17 16:06 1734数据库系统异常是DBA经常要面临的情景,一名有一定从业经验的 ... -
js读取excel
2012-09-26 17:26 2252项目需要用到将excel中的数据导入到页面的文本框中,但并不想 ... -
JfreeChar结合struts2展示柱状图和饼状图(已解决乱码问题)
2012-09-24 15:37 25171.导入需要的jar包(下载见附件) struts2-jfr ... -
sybase数据库夸平台恢复
2012-05-10 19:02 1996演示一次sybase ASE15.0.3跨平台备份恢复的过程。 ... -
sybase数据库恢复
2012-05-09 18:10 2772一、对tempdb的恢复 ... -
linux 压缩与解压 常用命令
2012-05-09 14:51 1619命令: tar 格式: tar 选项 文件目录列表 功能: ... -
linux远程上传文件及文件夹
2012-05-09 11:26 6595举例, 我要将本地文件夹/home/administrator ... -
liunx查看文件和文件夹大小
2012-05-09 11:23 1196当磁盘大小超过标准时 ... -
java里的split函数
2012-04-11 16:55 1025今天要用到split函数,对浮点数进行分割为子字符串,然后将结 ... -
java使用FTP上传下载的例子
2012-03-06 10:40 1588package mview.ftp; import ... -
linux虚拟机添加空间
2011-07-22 18:06 10691 、首先关闭虚拟机(这里如果不关闭系统,就不能增加新的硬件设 ... -
解决WebLogic启动时BEA-171522异常(启动时报classcast exception)
2011-05-10 14:28 2470如下异常: <Jul 27, 20 ... -
Enterprise Manager 无法连接到数据库实例
2011-04-26 10:26 2132登陆https://localhost:1158/em 之后, ... -
weblogic10配置线程数
2011-03-30 14:38 2525下面给介绍一下简单的调优,也是跟weblogic81不同的地方 ... -
忘记Weblogic,如何修改密码(10.3.2.0测试通过)
2011-03-29 18:09 1848忘记了weblogic server的管理员密码,可以通过如下 ... -
使用eclipse统计项目代码行数
2011-03-22 10:06 3176在eclipse中, 打开File Search对话框, ...
相关推荐
如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=张三 可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 (1)JS在页面上把数据var val = encodeURI...
### JS的encodeURI和Java的URLDecoder.decode使用详解 #### 一、背景介绍 在网络通信过程中,URL(统一资源定位符)作为传输信息的一种常见方式,其安全性与隐私性问题一直备受关注。为了提高URL的安全性和隐私性,...
### JavaScript encodeURI中文乱码问题解析与解决方案 在Web开发中,处理中文字符或其它非...通过以上措施,可以有效解决JavaScript中`encodeURI()`处理中文字符时的乱码问题,确保数据在Web应用中的正确传输和显示。
很简单,一看就懂,用不明白可以留言,看到必回!如果加密中文js里加密之前encodeURIComponent编码一下,java用java.net.URLDecoder.decode(outputStr, "UTF-8");解码
- Java标准库提供了`java.net.URLDecoder` 和 `java.net.URLEncoder` 类,可以用于编码和解码URL。在某些场景下,它们可能比直接操作字符串更安全和方便。 总之,解决Java中的URL中文乱码问题需要理解URL编码的...
然而,通过组合Java的`URLEncoder`和`URLDecoder`类,我们可以创建一个兼容的实现。下面将详细讨论如何实现这一功能,以及`encodeURIComponent`和`decodeURIComponent`方法的工作原理。 `encodeURIComponent`函数的...
`encodeURI`函数是JavaScript提供的一个内置方法,它的作用是对整个URL进行编码,包括特殊字符,但保留某些URL的保留字符,如冒号、斜线和问号。这个方法不会对ASCII字母和数字进行编码,也不会对以下字符进行编码:...
一、基本概念 encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为英文编码,decodeURI可以用来把字符还原回来。encodeURI方法...
在JavaScript和Java中,处理URL参数,特别是涉及到中文字符时,需要特别关注编码和解码的问题。本主题将深入探讨“jsurl传值”与“java页面url传值中文编码&解码”的相关知识点。 首先,我们要了解URL编码。URL编码...
JavaScript中也有类似的函数,如 `escape()`、`encodeURI()` 和 `encodeURIComponent()`。其中,`encodeURIComponent()` 与Java的 `URLEncoder.encode()` 类似,适用于大多数情况,因为它不会编码 `/`、`:`、`;`、`?...
在JavaScript中,确保使用UTF-8编码序列化JSON对象,在Java服务端,使用`URLDecoder.decode`方法以正确的字符集解码请求参数。在必要时,可以通过前端的URL编码或Base64加密,后端的解码来进一步保证数据传输的准确...
在Java中,使用`java.net.URLDecoder.decode`方法来完成这一过程。在例子中,使用了"UTF-8"作为解码的字符集,确保与前端编码时使用的字符集一致。 ```java String name = request.getParameter("name"); name = ...
在浏览器端对要传递的中文参数进行编码处理可以使用 encodeURI 函数,对服务器端传递的中文参数进行解码可以使用 URLDecoder.decode 函数。在服务器端代码中,需要确保 jsp 页面的编码方式为 utf-8。 二、JSP 与...
【Java认证】Ajax中文...总的来说,解决Ajax中文乱码问题通常涉及到前端编码和后端解码的配合,而C++和Java的设计差异反映了它们在语言特性和目标应用上的不同考量。开发者需要根据项目需求和自身技能选择合适的工具。
在页面的url中使用encodeURI(encodeURI(中文)),对中文进行编码,并在服务器的java程序中使用URLDecoder.decode(中文, “UTF-8”)进行解码即可; 如果url中需要传递+、#、?等特殊符号,可以使用encodeURIComponent...
以下是一些关于如何解决从JS向Action传中文参数出现乱码问题的详细方法和注意事项: 首先,确保整个项目的编码一致性是至关重要的。在项目配置中,包括HTML、JSP、CSS、Java、XML等文件,都应统一采用UTF-8编码格式...
本文提供的方案是在前端使用`encodeURI()`函数对参数进行编码,在后端使用`URLDecoder.decode()`方法进行解码。 #### 三、具体实现步骤 ##### 1. 前端编码处理 在前端页面中,当需要发送含有中文等特殊字符的参数...