<div id="loginWin" class="easyui-window" title="用户登陆" style="width: 300px; height: 180px;"> <div> <form id="loginForm" action="user/user!login" method="post" style="padding: 10px 20px 10px 20px;"> <table> <tr> <td> 用户名: </td> <td> <input name="user.name" type="text" style="width: 150px;" /> </td> </tr> <tr> <td> 密码: </td> <td> <input name="user.password" type="password" style="width: 150px;" /> </td> </tr> <tr> <td colspan="2" style="text-align: center; padding-top: 20px;"> <a id="loginBtn" href="javascript:void(0);" class="easyui-linkbutton">登陆</a> </td> </tr> </table> </form> </div> </div>
上面是一段结合jquery easyui的登陆代码,里面的表单将提交个user命名空间下,user的Action的login方法。
下面是简单Action实现类。
public class UserAction extends ActionSupport{ private User user; public String login(){ if("walter".compareTo(user.getName()) == 0){ System.out.println(user.getName()); return SUCCESS; }else{ System.out.println(user.getName()); return LOGIN; } } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
这里使用一个User对象来接受页面提交的参数。
User类的代码
public class User { private String name; private String password; // getter 和 setter方法 }
Struts2访问servlet api
使用stuts2封装的对象 Map request,Map session ,Map application。
ctx.put("walter", "ctx.put方式添加request"); Map<String, Object> request = (Map<String, Object>) ctx.get("request"); Map<String, Object> session = ctx.getSession(); Map<String, Object> application = ctx.getApplication(); request.put("walter1", "request.put方式添加request参数"); session.put("session", "sessionValue"); application.put("application", "applicationValue"); System.out.println(request.get("user.name")); System.out.println(user.getName());
页面获取的代码
<div region="north" split="false" style="height: 80px; padding: 0px;"> application里的值:${applicationScope.application}<br/> session里的值:${sessionScope.session}<br/> request里的值:${requestScope.walter1} | ${requestScope.walter} </div>
在这里设置request里的属性值可以用两种方式,ctx.put(key,value) 和 request.put(key,value)