我无法将jsp中文本框中输入的文本值获取到我的action类中。以下是我的档案。任何人都可以请求帮助,因为这是非常紧急的。
我的jsp是
<%@ 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>
我的动作类是
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String userName;
public String getUserName() {
return userName;
}
public void setUsername(String username) {
this.userName = username;
}
public String execute(){
System.out.println("the userName is "+this.getUserName());
return SUCCESS;
}
}
我的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>
答案 0 :(得分:2)
区分大小写很重要。
public void setUsername(String username) {
this.userName = username;
}
应该是:
public void setUserName(String username) {
this.userName = username;
}
答案 1 :(得分:0)
在你的struts.xml中,你写了
class="core.login.LoginAction"
但您没有在Action类中声明任何包。 setter和getter方法也有不同的名称。请记住,史蒂文说,他们是区分大小写的。 尝试删除一些额外的错误,例如额外的“&gt;”
答案 2 :(得分:0)
在文本字段中添加值属性,如下所示:
<s:textfield name="userName" label="User Name" value="${userName}" />
直接将它映射到动作类中的成员变量。
答案 3 :(得分:0)
在Eclipse中 解决区分大小写问题右键单击代码写入区域并转到源代码 - &gt;生成getter和setter方法 它将为选定的成员变量添加getter和setter方法。