gpt4 book ai didi

java - 如何将 Java 字符串传递给 JSP 页面中的 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-29 05:54:11 24 4
gpt4 key购买 nike

我希望将字符串从我的 Java 传递到 javascript showContent 函数。 Java 和 javascript 都包含在 JSP 页面中。字符串 strLine包含我想使用 showContent 函数显示的 XML 内容。

我的Java

        try{    
//Open the file that is the first command line parameter
FileInputStream fstream = new FileInputStream(table.get(xmlMatch));

// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;

//Read File Line By Line
while ((strLine = br.readLine()) != null)
{
out.println (strLine);
}

Javascript(我不得不感谢 Peter 在另一个 question 中为我提供了这个)

<script type="text/javascript" language="JavaScript">
function showContent()
{
document.getElementById('showContent').innerHTML = "printed content";
}
</script>

我试过用 "strLine"; 替换上面的“打印内容” (strLine);("strLine");

我也试过设置strLine作为 session 属性使用 session.setAttribute("strLine", strLine);并使用 "<%=strLine%>";但结果是 null 打印到屏幕上。

任何帮助都会很棒。

HTML

<a href="#" onclick="showContent()">Next! <%=keywords%> concept </a>
<div id="showContent"></div>

最佳答案

与其使用 out.println 打印它,不如放入一个变量(可能是一个 StringBuilder)。为此,您必须:

在正确的范围内声明变量(可能在 JSP 的开头)

StringBuilder contentInnerHtml = new StringBuilder();

然后将文件的文本附加到这个新变量:

while ((strLine = br.readLine()) != null)   
{
contentInnerHtml.append(strLine);
}

最后,在代码的 javascript 部分返回它的值(使用 toString()):

<script type="text/javascript" language="JavaScript">
function showContent()
{
document.getElementById('showContent').innerHTML = "<%=contentInnerHtml.toString()%>";
}
</script>

关于java - 如何将 Java 字符串传递给 JSP 页面中的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12803341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com