1

这是我的动作类,我正确定义了 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>

用户.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;
}
}
4

2 回答 2

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 文件夹中。

于 2013-03-25T06:39:12.667 回答
1

在您的操作中定义属性userName及其passwordgetter 和 setter 方法。

只需使用getUserName()andgetPassword()而不是user.getUserName()and user.getPassword()

Action 表单可以通过这些属性读取浏览器中提交的值。您必须分配给user对象的那些属性,然后您可以从user对象中使用它们。

于 2013-03-25T06:33:36.787 回答