将java bean属性传递给JSTL

我是Java和JSTL的新手,很抱歉,如果这是一个非常简单的问题。 我试图举一个例子,我在网上找到并开始工作,但我似乎遇到了问题。 所有这一切都是你想要创建一个java bean并从java bean访问属性。 但是我在JSTL jsp中调用类的行上得到一个空指针exception :useBean id =“students”class =“com.beans.Students” 。 这是java类:

package com.beans; public class Students implements java.io.Serializable { private String firstName = null; private int age = 0; public Students() { } public String getFirstName(){ return firstName; } public int getAge(){ return age; } public void setFirstName(String firstName){ this.firstName = firstName; } public void setAge(Integer age){ this.age = age; } } 

我正在尝试访问Java bean的JSTL:

     

Student First Name:

Student Age:

堆栈跟踪:

 Caused by: org.apache.sling.api.SlingException: An exception occurred processing JSP page /students.jsp at line 18 at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspExceptionInternal(JspServletWrapper.java:574) at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:499) at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443) at org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:59) at org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:453) at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:358) ... 174 more Caused by: java.lang.NullPointerException at org.apache.sling.scripting.jsp.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRuntimeLibrary.java:322) at org.apache.sling.scripting.jsp.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:308) at org.apache.jsp.students_002d_jsp._jspServ 

任何帮助是极大的赞赏!

如果你在servlet中的请求上放了一个Students对象,就像request.setAttribute("students", myStudentObject); ,然后你的页面上的JSTL等同于:

 

Student First Name:

Student Age:

确保在页面顶部包含JSTL核心标记,如下所示:

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

如果你需要担心XSS攻击,使用c:out标签是好的,但是如果这不是一个问题,你可以跳过c:out标签并使用这样的EL表达式:

 

Student First Name: ${students.firstName}

Student Age: ${students.age}