之前我以为是method=post的问题,删除 method=post 就好了,其实是请求变成了get所以好了,今天才发现是 server.xml 里面有一个设置在作怪!
删掉这两项就好了!
上网查了一下 maxPostSize 和 maxSavePostSize 是设置最大的表单长度的,给我设成1了!结果post表单没了!
===================================以下是以前的内容==================================================
有这样一个表单:
<form name="loginForm" action="${pageContext.request.contextPath}/login/login.action" method="post" >
用户名 <input name="username" type="text" />
密码 <input name="password" type="password" />
<input type="submit" class="btn" value="登陆"/>
</form>
对应的类
@Controller("loginAction")
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String username;
private String password;
public String login(){
System.out.println(username);
System.out.println(password);
return "whatever";
}
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;
}
}
点击提交后,断点调试类,发现username 和 password 皆为null
百思不得其解,看了struts的helloworld教程后,研究出解决方案为:删除form的method属性:
变成:
再次提交就正常了: