这是我的动作类,我已经正确定义了struts.xml, 我的问题是, 我得到textBox用户名值NULL,但其他输入返回值。 我正在添加User.java类,Struts ActionClass。
public class UserLogin extends ActionSupport {
User user = new User();
public String getAccess() {
System.out.println(user.getPassword()+"and"+user.getUserName());
// output: xyz and null
if (user.getPassword().equals("pass")){
System.out.println(user.getUserName());
return "success";
} else{
return "input";
}
}
public User getModel() {
return user;
}
}
我的 jsp 页面是:
<form action="login">
UserName:<input type="text" name="userName"/>
Password:<input type="password" name="password"/>
<input type="submit" value="login"/>
</form>
User.java
public User {
private String userName;
private String password;
public String getUserName(){
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword(){
return password;
}
public void setPassword(String password) {
this.password= password;
}
}
答案 0 :(得分:2)
使用Jsp taglib
获取用户输入
使用以下JSp表单将此代码放在login.jsp
文件中。
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>LogIn</title>
</head>
<body>
<s:form action="login" method="get">
<s:textfield name="userName" key="Username" size="20" />
<s:password name="password" key="Password" size="20" />
<s:submit method="getAccess" align="center"/>
</s:form>
</body>
</html>
如果按照
行 <%@ taglib prefix="s" uri="/struts-tags"%>
给出错误然后下载jsp标签lib jar并放入你的lib文件夹。
答案 1 :(得分:1)
在您的操作中定义属性userName
和password
及其getter和setter方法。
只需使用getUserName()
和getPassword()
代替user.getUserName()
和user.getPassword()
。
操作表单可以使用这些属性读取浏览器中提交的值。您必须将这些属性分配给user
对象,然后才能从user
对象中使用它们。