如何在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;写回应??
答案 0 :(得分:0)
你需要一个BufferedWriter来写入文件。
如果以书写模式打开临时文件会更好,那么您可以删除原始文件并重命名临时文件。
这样的东西答案 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存在一些问题。