如何用jsp显示html文件的源码? 从html源码中读取文本(已做到),作为一个attribute传给一个jsp页面(已做到),要在jsp页面中的textarea中显示读取的源码,如何做到? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题补充一下,我用以下方式是不成功的<%String content=(String)request.getAttribute("content");>%.....<script>document.getElementById("txt").value=<%=content%>;</script>..... <textarea value="<%=content%>"></textarea> 补充一下:<%=content%>是服务器语言。js 怎么会支持呢。 document.getElementById("txt").value= "<%=content%>"; //你的id最好不要用txt 问题是这样的,不是document.getElementById("txt").value= <%=content%>; 这个方法不行,是这句话不能放到这里,这里这样document.getElementById("txt")是得到到你这个textarea对象的不信你在这句话后面用alert(document.getElementById("txt"));打出来看一下,绝对是未定义你要想得用这个方法的话就把document.getElementById("txt").value= <%=content%>; 放到一个方法里,比如你想进到页面就让textarea得到值,你就把它写到BODY的onload方法中就可以了如下:<script>function showTxt(){ document.getElementById("txt").value= <%=content%>; }</script><body onLoad="showTxt()"...........这样就可以了,当然,你要放到别的方法里也行解决了一定要结帖哦,呵呵 上面的打错了一个字,呵呵这个方法不行,是这句话不能放到这里,这里这样document.getElementById("txt")是得**(不)**到你这个textarea对象的 这个是关键你要对content的“<”,">",";",以及双引号等进行转义content=content.replaceAll("<","<");然后再document.getElementById("txt").value="<%=content%>";才能显示源代码 <% String content=(String)request.getAttribute("content"); %><textarea id="" rows="" cols=""><%=content.replace(">",">").replace("<","<")%></textarea> 不好意思 多大了空格:<% String content=(String)request.getAttribute("content"); %> <textarea id="" rows="" cols=""> <%=content.replace(">",">").replace("<","<")%> </textarea> 这个是会的,,,,因为JSP会先进行编译,,编译执行完毕后,,在进行HTML的编译执行,,所以是可以的 如果放到单独的js文件里是不会支持的,但是放在页面的js代码里支持 先谢谢各位{var textField = document.getElementById("txt");textField.value="<%=content%>";}我试了很多次能成功显示的文件只有数字串,如“12345”,字母串,哪怕只有一个字符也不行......我以为是content内容没有获取出来,于是我把<%=content%>这句放到了body里面,显示正确(不是源码,而是解析以后的网页)另外,"<%=content%>"的方法似乎不行。还希望各位帮忙!相关代码如下<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String content = (String)request.getAttribute("content");%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <script language="JavaScript"> function showContent() { var textField = document.getElementById("txt"); textField.value="<%=content%>"; } </script> </head> <body onLoad="showContent()"> <%=content%> <textarea id="txt" rows="25" cols="95%" style="font-size:12px" ></textarea> </body></html> 写成这样看看呢<textarea id="txt" rows="25" cols="95%" style="font-size:12px" > <%=content%></textarea> 问题已解决总结:似乎java的string和javascript有些不兼容什么的,也许是我才疏学浅吧在javascript中用到content要给textarea赋值似乎没有好的办法我最后使用<textarea><%=content%></textarea>解决的答案似乎很简单,但为此探寻了许久最近学校公寓多了很多的国旗,努力编程迎奥运! 帮我分析一下百度空间的超链接这段js代码! firefox下面的缓存问题 关于servlet的用法 javaweb+tomcat工程(服务器)访问路径如何配置? eclipse 调试时单步执行速度非常慢 jsp如何设为桌面图标 web报错页面 AXIS2 与spring整合问题 如果不整合 Apache和 tomcat,只用Tomcat(在线等) 请问在jsp中有没有类似于asp中的server.Mappath获得绝对路径的方法啊? 請教關於在JSP中應用Java函數的問題,高手幫幫忙。。。 javascript的问题
<%
String content=(String)request.getAttribute("content");
>%
.....
<script>
document.getElementById("txt").value=<%=content%>;
</script>
.....
<%=content%>是服务器语言。
js 怎么会支持呢。
document.getElementById("txt").value= "<%=content%>";
//你的id最好不要用txt
这个方法不行,是这句话不能放到这里,这里这样document.getElementById("txt")是得到到你这个textarea对象的
不信你在这句话后面用alert(document.getElementById("txt"));打出来看一下,绝对是未定义你要想得用这个方法的话就把document.getElementById("txt").value= <%=content%>; 放到一个方法里,比如
你想进到页面就让textarea得到值,你就把它写到BODY的onload方法中就可以了
如下:
<script>
function showTxt(){
document.getElementById("txt").value= <%=content%>;
}
</script>
<body onLoad="showTxt()"...
....
....
这样就可以了,当然,你要放到别的方法里也行
解决了一定要结帖哦,呵呵
这个方法不行,是这句话不能放到这里,这里这样document.getElementById("txt")是得**(不)**到你这个textarea对象的
content=content.replaceAll("<","<");然后再
document.getElementById("txt").value="<%=content%>";
才能显示源代码
String content=(String)request.getAttribute("content");
%>
<textarea id="" rows="" cols="">
<%=content.replace(">",">").replace("<","<")%>
</textarea>
String content=(String)request.getAttribute("content");
%>
<textarea id="" rows="" cols="">
<%=content.replace(">",">").replace("<","<")%>
</textarea>
如果放到单独的js文件里是不会支持的,但是放在页面的js代码里支持
{
var textField = document.getElementById("txt");
textField.value="<%=content%>";
}
我试了很多次
能成功显示的文件只有数字串,如“12345”,字母串,哪怕只有一个字符也不行......
我以为是content内容没有获取出来,于是我把<%=content%>这句放到了body里面,显示正确(不是源码,而是解析以后的网页)
另外,"<%=content%>"的方法似乎不行。
还希望各位帮忙!
相关代码如下<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String content = (String)request.getAttribute("content");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="JavaScript">
function showContent()
{
var textField = document.getElementById("txt");
textField.value="<%=content%>";
}
</script>
</head>
<body onLoad="showContent()">
<%=content%>
<textarea id="txt" rows="25" cols="95%" style="font-size:12px" ></textarea>
</body>
</html>
总结:
似乎java的string和javascript有些不兼容什么的,也许是我才疏学浅吧
在javascript中用到content要给textarea赋值似乎没有好的办法
我最后使用<textarea><%=content%></textarea>解决的
答案似乎很简单,但为此探寻了许久
最近学校公寓多了很多的国旗,努力编程迎奥运!