Reputation: 1708
I am trying to set the property username
in the User class to newUser
by using the JSTL tag but when I tpe the following link http://localhost:8082/LoginApp/seccuss.jsp
I am getting the error below displayed. How does setProperty
tag word in the JSTL?
seccusss.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="org.user.dto.User" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Seccuss</title>
</head>
<body>
<h3>login Successful</h3>
<jsp:useBean id="user" class="org.user.dto.User" scope="request">
<jsp:setProperty property="username" name="newUser"/>
</jsp:useBean>
Hello <jsp:getProperty property="username" name="user"/>
</body>
</html>
User class:
package org.user.dto;
public class User {
private String username;
private String userId;
public String getUsername() {
return username;
}
public void setUsername(String userName) {
this.username = userName;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}
error message:
Mai 29, 2016 1:18:03 PM org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet [jsp] in context with path [/LoginApp] threw exception [An exception occurred processing JSP page /seccuss.jsp at line 22
19:
20: <%--The previous code line with JSTL --%>
21: <jsp:useBean id="user" class="org.user.dto.User" scope="request">
22: <jsp:setProperty property="username" name="newUser"/>
23: </jsp:useBean>
24: Hello <jsp:getProperty property="username" name="user"/>
25:
Stacktrace:] with root cause
java.lang.NullPointerException
at org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRuntimeLibrary.java:320)
at org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:306)
at org.apache.jsp.seccuss_jsp._jspService(seccuss_jsp.java:108)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Upvotes: 0
Views: 161
Reputation: 1812
You are giving value of name attribute in tag, "newUser" which must be the name of the bean i.e. user like you did in tag. Also provide value attribute in otherwise it will print null
try this.
<jsp:useBean id="user" class="com.model.User" scope="request">
<jsp:setProperty property="username" name="user" value="hiren"/>
</jsp:useBean>
Hello <jsp:getProperty property="username" name="user"/>
Upvotes: 2