现有一 html 文件。 我要在预览此文件时更改一些标签。 如: <!-- AA -->  改成 <div>AA</div> ,如何做?
我用 servlet 打开此html后,replace 标签后,再用println 输出。可 html 中的路径都不对了。还有用过滤器如何做?注:此 html 文件只是在显示时更改标签.文件本身是不能改动的.

解决方案 »

  1.   

    如果你的html文件写的很标准的话,就是按xml文件格式写的话,可以使用xslt来格式化输出.
      

  2.   

    这样行码 <%if(...){%> <div><%} else {%> <!-- <%}%> ... ...
      

  3.   

    xslt来格式化输出 不行的. 因为我的标签内容是要从数据库里读的.但 html 中是不能有程序,也不会解析程序.所以说要用外部的类来解决.一种方法我考虑用 servlet 来解决.但会导致 html 中的图片/超链接(相对路径) 指向不对.
    另一种方法用过滤器,但不知道如何读取 response 中的 html内容流.并替换
      

  4.   

    没太明白楼主的意思.
    我知道用javascript可以控制页面的显示,功能很强大,应该有你需要的吧
      

  5.   

    我意思很简单,就是如何把Html文件中指定内容替换成另外的数据.并预览此Html文件.但要注意的是并不直接更改此HTML,而是在显示的时候更改.
      

  6.   

    “我用 servlet 打开此html后,replace 标签后,再用println 输出。可 html 中的路径都不对了”这个问题是因为你的servlet-mapping没有设置好,要和html文件设置成一个路径。
      

  7.   

    是呀。可我有很多html文件,且在不同的路径下。不可能用很多servlet-mapping的呀。不现实。
      

  8.   

    建议用css来实现,作两个css,在预览的时候用javascript 切换。
      

  9.   

    javascript可以把整个html页面当作dom对象来处理,可以随意添加或删除其中的标签,建议看一下AJAX的书,有很多例子
      

  10.   

    dom对象可以 操作这种标签吗? <app:edit id="edit1">菜单栏</app:edit> 这个标签是放在 .html 中的,不是也不能放在 .jsp.  我就是要把这种标签替换成数据库中的内容.
      

  11.   

    <textarea rows="2" name="ad4_link" cols="60"><a href="http://www.wzk.com.cn/ad4link.asp?ad4_id=<%=ad4_id%>">更多.....</a></textarea> 
    这样