FreeMarker生成xml的教训【原创】

  原来生成xml,是在一个servlet直接把xml字符串输出来,总感到有那么点不好,就决定用FreeMarker做模板,在struts的action中取得对象集合,传过去,生成xml。
  由于这个工作很简单,很快就完成了,输入地址直接看了下,是xml那种形式的,然后,产生树形结构的代码中的ajax部分调用这个xml,结果居然抛错,取不到responseXML中的元素。
  我怎么想都不明白,明明看着是个xml,怎么就取不到。后来查FreeMarker配置的时候,在web.xml看到
< init - param >
            
< param - name > ContentType </ param - name >
            
< param - value > text / html </ param - value >
        
</ init - param >
  估计问题就在这里,于是想在页面加句什么把ContentType改成text/xml,但是没找到该怎么加,郁闷,只好在web.xml加了这么一段
< servlet >
        
< servlet - name > freemarker_xml </ servlet - name >
        
< servlet - class >
            freemarker.ext.servlet.FreemarkerServlet
        
</ servlet - class >
        
< init - param >
            
< param - name > TemplatePath </ param - name >
            
< param - value >/ WEB - INF / templates / xml /</ param - value >
        
</ init - param >
        
< init - param >
            
< param - name > NoCache </ param - name >
            
< param - value > true </ param - value >
        
</ init - param >
        
< init - param >
            
< param - name > ContentType </ param - name >
            
< param - value > text / xml </ param - value >
        
</ init - param >
        
< init - param >
            
< param - name > default_encoding </ param - name >
            
< param - value > UTF - 8 </ param - value >
        
</ init - param >

        
< load - on - startup > 1 </ load - on - startup >
    
</ servlet >
    
< servlet - mapping >
        
< servlet - name > freemarker_xml </ servlet - name >
        
< url - pattern >* .xml.ftl </ url - pattern >
    
</ servlet - mapping >
  所有的xml模板都以.xml.ftl结尾,一测试,好了,说明原来看到的那个形似xml的东西它不是一个xml!!

转载于:https://www.cnblogs.com/zxub/archive/2006/08/10/472859.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值