Struts2参数在action类中为空
我无法将jsp中文本框中输入的文本值获取到我的action类中。下面是我的档案。有人能帮忙吗?这件事很紧急 我的jsp是Struts2参数在action类中为空,struts2,Struts2,我无法将jsp中文本框中输入的文本值获取到我的action类中。下面是我的档案。有人能帮忙吗?这件事很紧急 我的jsp是 <%@ taglib uri="/struts-tags" prefix="s" %> <html> <body> <s:form action="login" method="post"> <s:textfield name="userName" label="User Name" /> <
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<body>
<s:form action="login" method="post">
<s:textfield name="userName" label="User Name" />
<s:submit type="button" id="submit" label="Submit"/>
<s:reset id="reset" label="Reset"></s:reset>
</s:form>
</body>
</html>
我的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>
<include file="struts-default.xml" />
<package name="default" extends="struts-default">
<action name="login" class="core.login.LoginAction">
<result name="error">>/webpages/login/Error.jsp</result>
<result name="success">/webpages/home/Home.jsp</result>
</action>
</package>
</struts>
>/网页/login/Error.jsp
/网页/home/home.jsp
区分大小写很重要
public void setUsername(String username) {
this.userName = username;
}
应该是:
public void setUserName(String username) {
this.userName = username;
}
在struts.xml中,您已经编写了
class="core.login.LoginAction"
但是您没有在Action类中声明任何包。
setter和getter方法的名称也不同。请记住,正如Steven所说,它们区分大小写。
尝试删除文本字段中的附加值属性中的小错误,如额外的“>”,如下所示:
<s:textfield name="userName" label="User Name" value="${userName}" />
直接映射到action类中的成员变量。在Eclipse中,
要解决区分大小写的问题,右键单击代码编写区域,然后转到source->Generategetter和setter方法
它将为所选成员变量添加getter和setter方法。您缺少
。您在这里遇到错误了吗?呼叫是否到达您的行动范围?与此问题无关,但由于问题的类型,在
之后有一个额外的
。我认为Steven可能在这里得到了答案。此答案是错误的。a) 不需要在Struts2标记上指定值,b)不能在Struts2标记属性中使用EL
<s:textfield name="userName" label="User Name" value="${userName}" />