读取html文件并在jsp中替换字符串

时间:2015-03-17 15:01:12

标签: java jsp

如何在div中追加一些文字,其中id =" sw"并且"< - 在这里添加一些东西/>"并在JSP中写入响应输出?

" index_012.html内容为:

    <html><head></head><body>
<div id="maincontent" class="maincontent">
    <section id="mainthecontent">
        <div id="swRight"></div>
        <div id="sw" >
            <!--adding some thing here-->
        </div>                                
        <div class="clear"></div>
    </section>
    <div class="clear"></div>
</div>
</body></html>

我的jsp代码是:

    FileReader fr = new FileReader("index_012.html");
    BufferedReader br = new BufferedReader(fr);     
    StringBulder addingContent= "<div>Main Content</div>";
    StringBulder result="";
    String line = null;
    // finding place to adding StringBulder
    int contentPlace = -1;
    while((line=br.readLine()) != null && contentPlace==-1){
        int swIndex = line.indexOf("\"sw\"");
        contentPlace = line.indexOf(">",swIndex);
    }
if(contentPlace>-1){//contentPlace is index of where i must append "addingContent"

--------i need help here ----------
result = br.append(addingContent , contentPlace);
--------i need help here ----------
}

然后这个jsp标签

<%= result %>

我不需要对index_012.html或任何其他文件进行任何更改

写入响应输出

在其他方面如何将文件读取为StringBulder - &gt;替换somthing - &gt;写回应??

2 个答案:

答案 0 :(得分:0)

你需要一个BufferedWriter来写入文件。

如果以书写模式打开临时文件会更好,那么您可以删除原始文件并重命名临时文件。

我认为你需要像https://stackoverflow.com/a/8563446/3785263

这样的东西

答案 1 :(得分:0)

<%@page import="java.io.BufferedReader"%>
<%@page import="java.io.FileReader"%>
<%@page import="java.io.File"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% StringBulder addingContent= "<div>Main Content</div>"; %>
<% FileReader fr = new FileReader("G:\\index_jeymarble.html");%>
<% BufferedReader br = new BufferedReader(fr);%>
<% String line = null;%><% while ((line = br.readLine()) != null) {%>
<%= line%><%    if (line.indexOf("\"sw\"")>-1 ) { %><%= addingContent %>
<%}%>
<%}%>

如果有人有任何想法使用正则表达式评论 并且pageEncoding存在一些问题。