在 JSP 中显示 Java 内容
Posted
技术标签:
【中文标题】在 JSP 中显示 Java 内容【英文标题】:Displaying Java content in JSP 【发布时间】:2012-06-03 21:51:24 【问题描述】:设置 - Tomcat 6.0.16 - MacBook
我有一个 JSP 页面,它调用一个单独的 Java 应用程序来搜索 Web 并返回内容。我希望在我的 JSP 页面上显示此内容。
我的 JSP 代码 - 调用下面的 JAVA
System.out.println("Test3");
Injector injector = Guice.createInjector(new GuiceInjector());
Run r = injector.getInstance(Run.class);
r.runSliceConsumer();
我的 JAVA - 这可以工作并将我的内容打印到终端窗口。
if (sliceHits == null)
System.err.println("Timeout occurred while fetching slices");
return;
if (!sliceHits.isEmpty())
System.out.println("Found some slices Yuhuuuu ! :-) ");
String sliceContent = createSlices(sliceHits);
System.out.println("sliceContent:");
System.out.println(sliceContent);
else
System.out.println("No Slices were found for this query");
我的问题是我想在我的 JSP 网页中显示上面的内容,而不仅仅是终端窗口。我假设当以一种方式建立连接时,我的 JSP 调用了我的 JAVA,我应该能够只显示结果,但我遇到了一些问题,我希望它只是与我的语法有关。
我在 JSP 中的尝试
<div id="result-page-query" align='center'>
<%
sliceContent = createSlices(sliceHits);
out.println(sliceContent);
%>
</div>
我不确定我的解释是否正确,但实际上我是在尝试在我的网页上显示“sliceContent”的内容
谢谢
编辑:
您好,正如 jddsantaella 和 Hardik Mishra 下面的建议,我必须导入必要的包。然后我在这种情况下创建了一个对象“kContent”并执行了该方法。
解决方法类似于以下
<%
Run kContent = injector.getInstance(Run.class);
kContent.runSliceConsumer();
out.println(kContent);
%>
【问题讨论】:
使用 您从尝试中看到了什么结果? @pb2q 你好。这给了我下面的 Tomcat 错误消息,错误就在该行“org.apache.jasper.JasperException:无法为 JSP 编译类:” @dystroy:out
在 JSP 中隐式可用,可用于像上面给出的代码一样打印。
【参考方案1】:
你不应该在你的 JSP 中使用 Java 代码,这是不推荐的。无论如何,您可以打印由执行以下操作的方法返回的值:
...
<%=myObjetct.myMethod(...)%>
...
您的尝试不清楚createSlices
是什么。我觉得可以
<%=r.runSliceConsumer()%>
假设您的 runSliceConsumer
方法正在返回一些东西
【讨论】:
嗨,jddsantaella,我想你在这里做点什么。生病玩它,看看我想出什么。 JSP 不是我的强项,所以我会尝试随机语法组合 您好 jddsantaella 只是想对您的帮助表示感谢。我已经根据您上面的建议发布了我的解决方案。【参考方案2】:不建议在 JSP 中使用 JAVA 代码。 JSP 主要用于展示。
其次,"org.apache.jasper.JasperException: Unable to compile class for JSP
是运行时异常。当您运行 JSP 时,如果之前编译的 JSP 发生了变化,您的 Web 容器会在运行时编译 JSP。
另外,你应该在 jsp 的开头使用add the necessary import 语句
<%@ page import="java.util.List" %>
<%@ page import="yourpackage.slicer" %>
最后,
<%
sliceContent = createSlices(sliceHits);
out.println(sliceContent);
%>
您可以从您的方法打印字符串返回值。只需检查调用方法,如myObj.myMethod()
【讨论】:
以上是关于在 JSP 中显示 Java 内容的主要内容,如果未能解决你的问题,请参考以下文章