如题,我想获取输入的数据,通过map的键值对存入再获取
ActionContext ctx = ActionContext.getContext();
Map map = ctx.getParameters();
String username = map.get("username").toString();
String password = map.get("password").toString();
public String execute()
{
if(username.equals("denglixuan")&&password.equals("1996"))
{
return "success";
}
else
{
return "error";
}
}
输入的都是简单数字或字母或者为空,可是不知道为什么获取到的值都是类似[Ljava.lang.String;@1681946f的格式,我想知道怎样才能获取到输入的值!!
String username = map.get("username").toString();
->
String username = (String)map.get("username");
[Ljava.lang.String;@1681946f这个是数组,String [] username = (String[])map.get("username");
public class ActionText extends ActionSupport
{
ActionContext ctx = ActionContext.getContext();
Map map = ctx.getParameters();
String [] username = (String[])map.get("username");
String [] password = (String[])map.get("password");
public String execute()
{
System.out.println("username:"+username);
System.out.println("password:"+password);
if(username.equals("denglixuan")&&password.equals("1996"))
{
return "success";
}
else
{
return "error";
}
}
}
还有jsp
<body>
<h1>欢迎来到登录界面!</h1><br><br>
<s:property value = "username"/>
<s:property value = "password"/>
<s:form action = "actiontext">
用户名称:<input type = "text" name = "username">
<br><br>
用户密码:<input type = "password" name = "password">
<br><br>
<input type="submit" value = "登录">
<input type="reset" value = "重置">
</s:form>
</body>
既然都能取到 String【 】 username 了,他是一个数组,你可以尝试打印一下
for(String name :username){
sysout(name);
}
new Map 的时候直接 new 成String 不行了吗?
Map map= new HashMap();
泛型多好用的,泛型一定要泛型!