struts2化在js里面怎么使用
Iterator一、struts2化比较简单,过程如下:
jsunicode转中文 js中文转utf8
大写英文字母unicode范围为0x41-0x5a,小写英文字母范围为:0x61-0x7a
1. 建立资源文件
中文资源:language_zh_CN.properties (language-自定义名称,zh-中文,CN-)
英文资源:language_en_US.properties (language保持一致,en-英文,US-美国)
其中中文在MyEclipse环境下,用Properties进行编辑,直接输入中文
如:password 密码
那么从Source看时,就可看到中文是用Unicode表示的
如:password=\u5BC6\u7801
2. 配置
web.xml文件中,配置Struts2:
<-pattern>/-pattern>
3. jsp中使用资源
加入标签引用:<%@ taglib prefix="s" uri="/struts-tags" %>
或者表单元素用:key="password"
4. 在action中使用资源
用ActionSupport类中的方法取资源值:getText("password");
二、js中要获取以上的资源值,就比较麻烦了
单独建立一套资源的话,就需要维护两套资源,重复且维护麻烦
1. js中使用量较少时,可在jsp页面中定义变量先取出资源值
用js代码如:var curPassword='
或:var curLang = {
password : '
user : '
}那单独的js文件中就可直接使用了
2. 另外想到的是从Ja资源中全部取出,在js中再建立一个语言的对象
ja化,用到的有两个类:Locale、ResourceBundle
Locale是语言类,选定当前的语言与地域,如:Locale locale = new Locale("zh","CN");
ResourceBundle是资源类,加载的是资源
如:ResourceBundle bundle = new ResourceBundle.getBundle("language",locale);
有个方法可取键值:bundle.getString("password");
找到一个方法可取全部键名:Set
好,再看Struts2中如何取ResourceBundle对象:
ActionSupport类中方法:ResourceBundle bundle=getTexts("langauge");
Action中添加方法:
protected String getCurLang(String resourceName){
if(null != bundle){
Set
StringBuffer curLang = new StringBuffer();
curLang.append("{");
int id=0;
String key;
while(it.hasNext()){
key=it.next();
if(id>0){
curLang.append(",");
}curLang.append(key);
curLang.append(":\'");
curLang.append("\'");
return curLang.toString();
}return "";
,前台把它转为对象,如:
var strvar curLang="<%=session.getAttribute("curLang")%>";
那么js文件中就可直接使用了:curLang["password"];
JaScript如何对后台utf8编码的字符串解码?
4.编辑完成后,单击ue编辑器中的Se并选择不带BOM的UTF8。为了防止xss以及csrf+xss的漏洞,后台统一对字符串进行了转码
}然后放入session中:session.setAttribute("curLang",getCurLang("langauge"));结果如下:
原文: JaScript高级程序设计
编码: JaScript高级程序设计
前端写了一段如下代码:
function u2str(text){ // transform text in utf8 format to string
return unescape(text.replace(//g,'%u').
var ascVal = 98;
var charVal = "G";
document.write(vbAsc(charVal));
jascript中只有Unicode转换没有ascii码转换,所以要用vbscript中的代码来实现...加了这段代码后,在页面中有脚本的地方都写清楚脚本语言,否则可能会出现错误。
String.fromCharCode(64)
String.charstruts化,是建立在ja化之上,做了一次封装CodeAt(0)
js判断字符是否是汉字的两种方法小结
/[^\u4E00-\u9FA5\uf900-\ufa2注意 escape 方法不能够用来对统一资源标示码 (URI) 进行汉字在Unicode中称作CJK 统一表意符号 (CJK Unified Ideographs),包括U+3400-U+4DBF/U+4E00-U+9FFF/U+20000-U+3FFFD,参见百度百科【统一码】。编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。d]+/g:非中文js验证不能输入汉字怎么解决?
可以使用原生的Jascript代码来进行转义。该编码其实不是utf8,而是unicode编码。这里的字符实际上'返过来是html实体。1、用正则表达式判断,非常简单,两条代码就可实现,具体如下: