解决方案 »

  1.   

    2、在jsp页面一行的文本中如果有类似的信息: "客户档案accountName,输入的文本超过最大长度200" ,则处理结果应该为:客户档案accountName,输入的文本超过最大长度200;而:我怎么没明白啊。这个处理结果不变吗?
      

  2.   

    因为这个是作为直接的一句话,里面的accountName不是一个变量。而下面的title decimal_length是一个变量
      

  3.   

    <script type="text/javascript">alert('看来我还是手动吧');</script>
      

  4.   


    var Filter = {
                        doFilter: function(str){
                            if(!str || typeof str !== 'string')return str;
                            for(var i = 0, len = this._filters.length; i < len; i++){
                                str = str.replace(this._filters[i], "");
                            }
                            return str;
                        },
                        _filters: [//private
                            /\/\*(?:.|\n)*?\*\//g,
                            /\/\/.*/g,
                            /<\!--(?:.|\n)*?-->/g
                        ]
                    },
           getter = /['"](?:.|\n)*?[^\x00-\xff](?:.|\n)*?['"]/g;        var testStr = "//测试\n" +
                    "var x = 1;\n" +
                    "/**\n" +
                    "中文\n" +
                    "*/\n" +
                    "<!--<span>测试中文</span>\n-->\n" +
                    "var y = '中文变量';\n" +
                    "var z = '变量加' + x + y\n";        testStr = Filter.doFilter(testStr);
            var zhStr = testStr.match(getter);
            for(var i = 0; i < zhStr.length; i++){
                console.log(zhStr[i])
            }js版的,要用java版的改下就可以了吧,java的点包含换行
    不过感觉这样提取出来的翻译不一定准确,没有语境了
      

  5.   

    <script type="text/javascript">alert('看来我还是手动吧'?=><&%);</script> 
      

  6.   

    设计思路:将Jsp多次过滤,最终达到你所需要的东西。
    1、过滤掉注释,大多注释是以 // <!----> /*...*/ 把这些注释替换成空字符串 
    2、过滤掉java代码 <%.....%>
    3、过滤掉html代码...
    4、JS过滤起来应该有点复杂
    5、可以考虑Java的httpClient模式发送报文然后调用java的处理类,对各个依次处理,最后返回报文。