从html源码中读取文本(已做到),作为一个attribute传给一个jsp页面(已做到),要在jsp页面中的textarea中显示读取的源码,如何做到?

解决方案 »

  1.   

    问题补充一下,我用以下方式是不成功的
    <%
    String content=(String)request.getAttribute("content");
    >%
    .....
    <script>
    document.getElementById("txt").value=<%=content%>;
    </script>
    .....
      

  2.   

     <textarea value="<%=content%>"></textarea>
      

  3.   

    补充一下:
    <%=content%>是服务器语言。
    js 怎么会支持呢。
      

  4.   


    document.getElementById("txt").value= "<%=content%>"; 
    //你的id最好不要用txt
      

  5.   

    问题是这样的,不是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()"...
    ....
    ....
    这样就可以了,当然,你要放到别的方法里也行
    解决了一定要结帖哦,呵呵
      

  6.   

    上面的打错了一个字,呵呵
    这个方法不行,是这句话不能放到这里,这里这样document.getElementById("txt")是得**(不)**到你这个textarea对象的
      

  7.   

    这个是关键你要对content的“<”,">",";",以及双引号等进行转义
    content=content.replaceAll("<","&lt;");然后再
    document.getElementById("txt").value="<%=content%>";
    才能显示源代码
      

  8.   

    <% 
    String content=(String)request.getAttribute("content"); 
    %>
    <textarea id="" rows="" cols="">
    <%=content.replace(">","&gt;").replace("<","&lt;")%>
    </textarea>
      

  9.   

    不好意思 多大了空格:<%  
    String content=(String)request.getAttribute("content");  
    %> 
    <textarea id="" rows="" cols=""> 
    <%=content.replace(">","&gt;").replace("<","&lt;")%> 
    </textarea>
      

  10.   

    这个是会的,,,,因为JSP会先进行编译,,编译执行完毕后,,在进行HTML的编译执行,,所以是可以的
      

  11.   


    如果放到单独的js文件里是不会支持的,但是放在页面的js代码里支持
      

  12.   

    先谢谢各位
    {
    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>
      

  13.   

    写成这样看看呢<textarea id="txt" rows="25" cols="95%" style="font-size:12px" >  <%=content%></textarea>
      

  14.   

    问题已解决
    总结:
    似乎java的string和javascript有些不兼容什么的,也许是我才疏学浅吧
    在javascript中用到content要给textarea赋值似乎没有好的办法
    我最后使用<textarea><%=content%></textarea>解决的
    答案似乎很简单,但为此探寻了许久
    最近学校公寓多了很多的国旗,努力编程迎奥运!