gpt4 book ai didi

java - 使用 Apache Struts 2 在 JSP 中获取表单信息

转载 作者:太空宇宙 更新时间:2023-11-04 13:43:21 25 4
gpt4 key购买 nike

我正在学习 Apache Struts 2,我需要帮助从文本字段获取用户输入。

在我的 JSP 中,我有:

<s:form action="login">
<s:textfield label="Username" />
<s:textfield label="Password" />
<s:submit />
</s:form>

在我的 Java 文件中:

List<UserData> users = new ArrayList<UserData>();
private Map<String, Object> session;

public String execute() {
addUser("SeyCC", "loop"); //@param Username, password
session.put("user", users.get(0).getUsername());

if(form info matches a username and password in list)
return SUCCESS;

return ERROR;
}

public void addUser(String username, String password) {
users.add(new UserData(username, password));
}

我的UserData.java只有两个字符串。一份用于用户名,一份用于密码。我的问题是你看到的 if 语句。如何获取用户在文本字段中输入的用户名和密码并检查列表以查看它是否在其中?

最佳答案

首先,您需要将文本字段绑定(bind)到操作

<s:form action="login">
<s:textfield key="Username" />
<s:textfield key="Password" />
<s:submit />
</s:form>

key 属性可用于namelabelvalue。请参阅textfield定义。

名称为login的操作应该有一个配置映射。在 struts.xml 中使用它,或者您可以使用 configuration by convention .

public class LoginAction extends ActionSupport implements SessionAware, Preparable {
List<UserData> users = new ArrayList<UserData>();
private Map<String, Object> session;

/**
* Field to store username.
*/
private String username;


public String getUsername() { return username; }

public void setUsername(String username) { this.username = username; }

/**
* Field to store password.
*/
private String password;

public String getPassword() { return password; }

public void setPassword(String password) { this.password = password; }

@Override
public void setSession(Map<String, Object> session){ this.session = session; }

@Override
public void prepare() throws Exception {
addUser("SeyCC", "loop");
}


public String execute() {

if (!users.get(0).getUsername().equals(username) || !users.get(0).getPassword().equals(password))
return ERROR;

session.put("user", users.get(0).getUsername());

return SUCCESS;
}

//@param username, password
public void addUser(String username, String password) {
users.add(new UserData(username, password));
}
}

关于java - 使用 Apache Struts 2 在 JSP 中获取表单信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com