在JSP文件中调用java方法

在JSP文件中调用java方法,java,jsp,Java,Jsp,我想在jsp页面中调用我的方法getSelectedLayouts,该方法位于 public Iterable<Layouts> getSelectedLayouts(String Subject){ Session sess=getCurrentSession(); return sess.createCriteria(Layouts.class, Subject).list(); } public Iterable getSelectedLayouts(字

我想在jsp页面中调用我的方法getSelectedLayouts,该方法位于

public Iterable<Layouts> getSelectedLayouts(String Subject){
     Session sess=getCurrentSession();
     return sess.createCriteria(Layouts.class, Subject).list();
 }
public Iterable getSelectedLayouts(字符串主题){
会话sess=getCurrentSession();
返回sess.createCriteria(Layouts.class,Subject.list();
}
类内布局管理器。我使用Springbean将LayoutManager传递到我的jsp页面

<custom:useSpringBean var="layoutManager" bean="LayoutManager">

jsp页面询问主题

<form method="post">
      <label for="subjectName">SubjectName:</label>
      <input type="text" name="subjectName" size="50" id="subjectName">
      <input class="button" type="submit" value="Search Layout" name="submit">
</form>

主题名称:
然后我将其传递给

<jsp:useBean id="subjectName" class="LayoutManager">
    <c:if test="${param.submit!=null}">

           (here's where I want to call my getSelectedLayouts method)

    </c:if>

(我想在这里调用getSelectedLayouts方法)

我一直在尝试使用scriplets,包括

<jsp:setProperty name="layout" property="*"/>
((LayoutManager)pageContext.getAttribute("layoutManager")).getSelectedLayout((La‌​youts)pageContext.getAttribute("layout")); 

((LayoutManager)pageContext.getAttribute(“LayoutManager”)).getSelectedLayout((La)‌​getAttribute(“布局”);
或者只是

<jsp:setProperty name="layout" property="*"/>
list<Layouts> = LayoutManager.getSelectedLayouts(layout); 

list=LayoutManager.getSelectedLayouts(布局);
布局是我的对象类

如果我需要提供任何其他信息,请告诉我

编辑:当我尝试

LayoutManager layoutManager = new LayoutManager();
String subjectNa = request.getParameter("subjectName");
Iterable<Layouts> bla = layoutManager.getSelectedLayouts(subjectNa);
LayoutManager LayoutManager=new LayoutManager();
字符串subjectNa=request.getParameter(“subjectName”);
Iterable bla=layoutManager.getSelectedLayouts(主题NA);
我得到了错误列表

org.apache.jasper.JasperException: An exception occurred processing JSP page /search.jsp at line 72

Iterable<Layouts> waters = layoutManager.getSelectedLayouts(subjectNa);

java.lang.NullPointerException
com.amazon.basalt.examples.octane.tomcat.LayoutManager.getCurrentSession(LayoutManager.java:37)
com.amazon.basalt.examples.octane.tomcat.LayoutManager.getSelectedLayouts(LayoutManager.java:50)
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

    root cause

    java.lang.NullPointerException   com.amazon.basalt.examples.octane.tomcat.LayoutManager.getCurrentSession(LayoutManager.java:37)
com.amazon.basalt.examples.octane.tomcat.LayoutManager.getAllLayouts(LayoutManager.java:68)
org.apache.jsp.search_jsp._jspService(search_jsp.java:221)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
org.apache.jasper.JasperException:在第72行处理JSP页面/search.JSP时发生异常
Iterable waters=layoutManager.getSelectedLayouts(主题NA);
java.lang.NullPointerException
com.amazon.玄武岩.examples.octane.tomcat.LayoutManager.getCurrentSession(LayoutManager.java:37)
com.amazon.玄武岩.examples.octane.tomcat.LayoutManager.getSelectedLayouts(LayoutManager.java:50)
org.apache.jasper.jaspereException:java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:820)
根本原因
java.lang.NullPointerException com.amazon.玄武岩.examples.octane.tomcat.LayoutManager.getCurrentSession(LayoutManager.java:37)
com.amazon.玄武岩.examples.octane.tomcat.LayoutManager.getAllLayouts(LayoutManager.java:68)
org.apache.jsp.search\u jsp.\u jsp服务(search\u jsp.java:221)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:820)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:820)
一种可能的解决方案。(如果使用scriplets不是问题。)


请记住在JSP中导入类,这是一个可能的解决方案。(如果使用scriplets不是问题。)



请记住在JSP中导入类。我建议您使用ajax获取布局列表。

我建议您使用ajax获取布局列表。

我在这里找到了一个参考。(这里的解决方案不使用JSP标记,而是scriplets)。我一直在尝试scriplets,包括((LayoutManager)pageContext.getAttribute(“LayoutManager”)).getSelectedLayout((Layouts)pageContext.getAttribute(“layout”);或者只是list=LayoutManager.getSelectedLayouts(布局);第二次尝试时,您必须将该方法设置为静态。一定要公布你的错误。我在这里找到了一个参考资料。(这里的解决方案不使用JSP标记,而是scriplets)。我一直在尝试scriplets,包括((LayoutManager)pageContext.getAttribute(“LayoutManager”)).getSelectedLayout((Layouts)pageContext.getAttribute(“layout”);或者只是list=LayoutManager.getSelectedLayouts(布局);第二次尝试时,您必须将该方法设置为静态。请发布您收到的错误。我收到layoutManager.getSelectedLayouts(subjectNa)的java.lang.NullPointerException;但是现在它至少通过了我的搜索参数,这比以前好了,我得到了layoutManager.getSelectedLayouts(subjectNa)的java.lang.NullPointerException;但现在至少通过了我的搜索参数,这比以前要好
<% 
LayoutManager layoutManager = new LayoutManager();
String subjectName = request.getParameter("subjectName");

layoutManager.getSelectedLayouts(subjectName);
%>