Java 使用JSTL将属性设置为默认值

Java 使用JSTL将属性设置为默认值,java,jsp,javabeans,Java,Jsp,Javabeans,我试图通过使用JSTL标记将User类中的属性username设置为newUser,但是当我打开以下链接时http://localhost:8082/LoginApp/seccuss.jsp我看到下面显示的错误。setProperty如何在JSTL中标记单词 seccuss.jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" import

我试图通过使用JSTL标记将User类中的属性
username
设置为
newUser
,但是当我打开以下链接时
http://localhost:8082/LoginApp/seccuss.jsp
我看到下面显示的错误。
setProperty
如何在JSTL中标记单词

seccuss.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>
错误消息:

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;
    }

}
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)
Mai 292016 1:18:03 PM org.apache.catalina.core.StandardWrapper
路径为[/LoginApp]的上下文中Servlet[jsp]的SCHWERWIEGEND:Servlet.service()引发异常[在处理第22行的jsp页面/seccus.jsp时发生异常]
19: 
20: 
21: 
22:    
23: 
24:你好
25: 
Stacktrace:]具有根本原因
java.lang.NullPointerException
位于org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRuntimeLibrary.java:320)
位于org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:306)
位于org.apache.jsp.seccus\u jsp.\u jsp服务(seccus\u jsp.java:108)
位于org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
位于java.lang.Thread.run(未知源)

您在标记中给出name属性的值,“newUser”,它必须是bean的名称,即user,就像在标记中一样。还应在中提供value属性,否则将打印null

试试这个

<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"/>

你好

您在标记中给出name属性的值,“newUser”,它必须是bean的名称,即user,就像在标记中一样。还应在中提供value属性,否则将打印null

试试这个

<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"/>

你好