Java 验证在Struts2中登录期间获取NullPointerException的方法
我正在进行编程验证,当我单击submit按钮时,已调用validate方法,但它显示Java 验证在Struts2中登录期间获取NullPointerException的方法,java,jsp,validation,struts2,Java,Jsp,Validation,Struts2,我正在进行编程验证,当我单击submit按钮时,已调用validate方法,但它显示NullPointerException。它无法验证,但我无法找到我的错误 index.jsp: <%@ taglib uri="/struts-tags" prefix="s"%> <s:actionerror /> <s:form action="insert"> <s:textfield name="" key="user.name" />
NullPointerException
。它无法验证,但我无法找到我的错误
index.jsp:
<%@ taglib uri="/struts-tags" prefix="s"%>
<s:actionerror />
<s:form action="insert">
<s:textfield name="" key="user.name" />
<s:textfield name="" key="user.pass" />
<s:submit value="login" />
</s:form>
struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="a" extends="struts-default">
<action name="insert" class="jack.UserLogin">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>
</struts>
Mybundle.properties:
struts.custom.i18n.resources=Mybundle
user.name=username
user.pass=password
user.wrong=enter username
pass.wrong=enter password
UserLogin.java的第29行有一个空指针异常。假设这是一条直线:
if (this.username.equals("") || username.length() == 0) {
这意味着
username
为空。不能调用空变量(在本例中为用户名
)的方法(在本例中为等于
)。您将得到所描述的错误。现在的情况是struts没有正确地为这些变量赋值。您需要首先解决这个问题。在验证之前,请检查validate方法中的null。见下文
if(this.username!=null && this.password != null)
框架无法为变量设置值,jsp应如下所示
<s:textfield name="username" key="user.name" />
<s:textfield name="password" key="user.pass" />
希望这能解决您的问题。@downvoter我在这里问错了什么,我在登录时遇到了一些问题,所以我在这里发布了我的查询,据我所知我在这里没有问错任何问题,请告诉我放下投票的原因。您是否为username和password变量创建了getter和setter方法?如果没有,请创建getter和setter方法并检查一次。不要将stacktarce作为图像发布,编辑问题并将其替换为文本。
<s:textfield name="username" key="user.name" />
<s:textfield name="password" key="user.pass" />