【问题标题】:populating data onto jsp from java classes从java类将数据填充到jsp
【发布时间】:2011-08-27 09:36:02
【问题描述】:

如何将数据从 java 类(不是 servlet)填充到 jsp 页面。 一种方法是 jspservletjava 类....

有没有不使用servlet..jspjava类的直接方法??

【问题讨论】:

标签: java jsp servlets


【解决方案1】:

您可以通过将 jar 放入 webapp 的 libs 文件夹(如果您还没有这样做)然后导入您的 jsp 来将您的类导入 jsp:

<%@ page import="com.mypkg.MyClass" %>

完成后,您可以像往常一样在 jsp 中使用您的类:

<select>
<%
    MyClass instance = new MyClass();
    for(int i=0;i<instance.itemCount();i++){
        out.println("<option>"+instance.getItem(i).getName()+"</option>");
    }
%>
</select>

总体上更可取的另一种方法是创建一个使用您的类的 TagLibrary。与在 jsp 中使用 Java 代码相比,TagLibraries 更简洁、更易于支持和理解。 Sun 的使用和创建标签库的指南非常好: http://java.sun.com/products/jsp/tutorial/TagLibraries3.html

【讨论】:

    【解决方案2】:

    呈现jsp页面的是servlet容器。将数据传递给 jsp 的唯一方法(有一个可能的例外)是在 HttpServletRequest(请求范围)、HttpSession(会话范围)或 ServletContext 本身(应用程序范围)上设置属性。所以你的问题的简短回答是否定的。

    也就是说,我可以想到其他几种可能性,让其他类将数据获取到 jsp(或至少将其呈现在页面上):

    • 您可以将上述对象之一传递给另一个类,并让该类将数据设置为适当范围内的属性。
    • 您可以编写一个自定义 jsp 标记,该标记将使用您的某个类在 jsp 中呈现数据。请参阅 here 了解如何执行此操作。
    • 您可以使用 javascript 进行 Ajax 调用,该调用将返回 json、xml、html 等,然后将数据写入页面。

    希望这会有所帮助。顺便说一句,如果您对您要完成的工作进行更详细的解释,将会有所帮助。

    【讨论】:

    • @Dan - 啊,当然。我想我可能刚刚从我的大脑中清除了纸片。 :)
    猜你喜欢
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2014-07-21
    相关资源
    最近更新 更多