从java类将数据填充到jsp

从java类将数据填充到jsp,java,jsp,servlets,Java,Jsp,Servlets,如何将数据从java类(而不是servlet)填充到jsp页面上。 一种方法是jspservletjava类 有没有不使用servlet的直接方法..jspjava类???您可以通过将jar放入webapp的libs文件夹(如果您还没有这样做)然后导入jsp将类导入到jsp中: <%@ page import="com.mypkg.MyClass" %> 完成后,您可以像通常一样在jsp中使用类: <select> <% MyClass instanc

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


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

您可以通过将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>

另一种总体上更可取的方法是创建一个使用类的标记库。标记库比在jsp中使用Java代码更干净、更易于支持和理解。Sun关于使用和创建标记库的指南非常好:
呈现jsp页面的是servlet容器。向jsp传递数据的唯一方法(可能有一个例外)是在HttpServletRequest(请求范围)、HttpSession(会话范围)或ServletContext本身(应用范围)上设置属性。所以你的问题的简短答案是否定的

也就是说,我可以考虑让其他类向jsp获取数据(或者至少在页面上呈现数据)的一些其他可能性:

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

希望这有帮助。顺便说一句,如果你能更详细地解释一下你想要实现的目标,那会有所帮助。

@Dan-Ah,当然了。我想我可能是刚从脑子里清除了纸条你为什么要这么做?这只会使代码更难维护,错误处理也变得更痛苦。另见