我用struts2的几个标签动态生成页面,生成的html文件里面的中文竟然全是“穿衣”诸如此类的东西,由于我以前没有接触过,这好像是一种字符集。但是之前用struts2标签都没遇到过。
我挑点关键的代码大家看看这是源jsp文件body中:     <s:iterator value="list" id="val">      <input type="radio" name="type" onClick="getDicName("<s:property value="#val.Id"/>","<s:property value="#val.sortname"/>")"/>    <s:property value="#val.sortname"/>    </s:iterator>
    
这是生成之后的html页面,看不见从数据库中取出的中文
         
    
    <input type="radio" name="type" onClick="getDicName("34","&#33457;&#33457;")"/>
    
    
    &#33457;&#33457;
    
    
    <input type="radio" name="type" onClick="getDicName("33","&#31359;&#34915;")"/>
    
    
     &#31359;&#34915;
    
    
    <input type="radio" name="type" onClick="getDicName("32","&#33457;&#26071;")"/>
    
    
    &#33457;&#26071;
显示出来的还是中文,只是源文件不是中文,是这种字符。我很困惑,我现在要用js操作,所以出现问题,希望高手能告诉我是怎么回事。

解决方案 »

  1.   

    struts标签取值不太记得了。。查阅下吧<input type="radio" name="type" onClick="getDicName("<s:property value="#val.Id"/>","<s:property value="#val.sortname"/>")"/>里面的双引号不符合规则 
      

  2.   

    你的Encoding是什么的?          或许楼主 去学学 国际化 会有帮助
      

  3.   

    <s:property value="#val.Id"/>  这个标签有个属性 设置下就按照Html输出,不然是按照文本输出的。
      

  4.   

    设置escape属性:<s:property value="#val.sortname" escape="false"/>
      

  5.   

    问题解决了。加上  escape="false" ,可以了,谢谢4、6、7楼的朋友们,也谢谢大家看帖,结贴了。谢谢大家了。但是上面的几位朋友,可以解释一下吗?为什么我以前没加这个没有这类问题呢?是我一直没注意过还是不加escape="false"就会生成那种字符?还有那种字符是什么,我今天也是第一次接触。
      

  6.   

    这个默认转义好像是true, 这个以前记得的,忘记了,,等下去翻翻文档区.!  比如说有的时候你url传参他会把你的&解析成&amp; 这个时候也要设置要它不转义
      

  7.   

    知道是怎么回事吗?我刚刚在google搜索输入【&#33457;】
       搜索出来的结果是:【花】真是今天才发现这个。