惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
有赞技术团队
有赞技术团队
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
The Cloudflare Blog
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
Vercel News
Vercel News
IT之家
IT之家
MyScale Blog
MyScale Blog
博客园_首页
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
罗磊的独立博客

博客园 - 往事如风

抓取之近似网页过滤 基情四射的两个css样式 Hadoop 2.4.1 登录认证配置小结 Window中调试HBase问题小结 改了改博客界面 Hbase0.98.4/Hadoop2.4.1整合小结【原创】 Hadoop 2.4.1 Map/Reduce小结【原创】 hadoop的dfs工具类一个【原创】 简化 Hadoop 2.4.1 Eclpse 插件编译【原创】 Hadoop 2.4.1 设置问题小结【原创】 spring的自动装配导致quartz出问题【原创】 关于用jsp生成xml的问题【原创】 - 往事如风 - 博客园 spring的单例导致webwork文件上传出现问题【原创】 resin版本导致的webwork2.2.4找不到xwork.xml【原创】 Gel备注【原创】 struts的action直接输出中文备注【原创】 - 往事如风 - 博客园 iframe高度处理【原创】 网上流行的flash切换图片之研究【原创】 图解MyEclipse配置struts+hibernate+spring+FreeMarker【原创】
FreeMarker生成xml的教训【原创】
往事如风 · 2006-08-10 · via 博客园 - 往事如风

  原来生成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!!