日期:2014-05-18  浏览次数:20796 次

jsf页面中脚本获取jsf资源文件内容问题
<script   type= "text/javascript ">
  function   validatePass(){
        var   value1   =   document.getElementById( "resetPassForm:newpass ").value;
        var   value2   =   document.getElementById       ( "resetPassForm:confirmpass ").value;
        if(value1   !=   value2){
        alert( "#{text[ 'error.resetpass ']} ");
        return   false;
        }else{
        return   true;
        }
        }
        </script>
        <c:if   test= "${oldpasserror   !=   null} ">
<script   type= "text/javascript ">
alert( "#{text[ 'error.password ']} ");
</script>
</c:if>
        </f:view>
这样的代码
第一个js方法里面的alert能显示出中文来
但是最下面的alert怎么显示的都是代表中文的unicode呀

------解决方案--------------------
加上方法
function Unicode2Str(str){
var re=/&#[\da-fA-F]{1,5};/ig;
var arr=str.match(re);
if(arr==null)return( " ");
var size=arr.length;
var arr2=new Array(size);
for(var i=0;i <arr.length;i++){
arr2[i]=String.fromCharCode(arr[i].replace(/[&#;]/g, " "));
}
for(var i=0;i <arr.length;i++){
str=str.replace(arr[i],arr2[i]);
}
return str;
}


把 <c:if test= "${oldpasserror != null} ">
<script type= "text/javascript ">
alert( "#{text[ 'error.password ']} ");
</script>
</c:if> 改成

<c:if test= "${oldpasserror != null} ">
<script type= "text/javascript ">
alert( "Unicode2Str(#{text[ 'error.password ']}) ");
</script>
</c:if>